价值200块钱的知识点pyhon2和python3的区别

p2 和p3 的区别
-编码&字符串:
字符串:
p2:
unicode v = u'find the table' 本质上用unicode存储(万国码)
(str/bytes) v = 'find the table' 本质用字节存储
py3:
str v = 'find the table' 本质上用的unicode(万国码)
bytes v = b'find the table' 本质上是字节存储

编码:
p2
- ascii
文件头可以进行修改 #-*- encoding:utf-8 -*-

p3 :
` -utf-8
文件头可以修改: #-*- encoding:utf-8 -*-

-继承:
p2: 经典类/新式类
p3: 新式类

在使用super()的不同
p2:必须向现实的在参数中加上基类
p3:直接无参数调用即可使用

-范围:
p2: range/xrange
p3: range

-输入:
py2: v1 = raw_input('请输入用户名')
py3: v2 = input('请输入用户名')

-打印:
py2: print'xxxxx'
py3: print(123)

-1/2的结果
p2 : 返回0
p3 : 返回0.5 没有了int 和long的区别

-True 和False
py2:True和False在py2中是俩个全局变量,可以为其赋值或者进行别的操作,初始值分别为1和0,
虽然修改是违背了python的设计原则,但是确实可以更改

py3:修改了这个变量,让True和Flase不可变


-迭代器
py2:当中许多返回列表的方法,如range,字典对象的dic.keys().dic.values()方法,map\filter\zip;
并且迭代器必须实现next方法

py3:将返回列表的方法改为了返回迭代对象,内置了__next__,不用特意去实现next

-nonlocal
py2:没有办法在嵌函数中将边浪声明为一个非局部变量,只能在函数找那个声明全局变量

pye3:nonlocal方法可以实现

posted @ 2018-09-06 16:41  玩蛇少年7372  阅读(270)  评论(0编辑  收藏  举报