python2和python3的区别

python2和python3的区别

参考链接:http://www.runoob.com/python/python-2x-3x.html

1.字符串类型不同

python2 python3
unicode 类型 str 字节类型 str 字符串类型 bytes 字节类型

2.源码上的区别

python2 python3
源码不规范。源码重复,混乱,冗余。 源码整合,优美,清晰,简单

3.输入input

python2 python3
input:输入什么类型,返回什么类型 raw_input:返回都是字符串 input:返回都是字符串

4.输出print

python2 python3
print+空格+'你好' print('你好')

5.int类型

python2 python3
有 int 和 long两种类型 只有 int

6.int整除

python2 python3
只能保留整数部分(加一行代码:?可以保留小数部分) 能保留所有

7.range()

python2 python3
range 在内存中立即把所有的值都创建
xrange 不会在内存中立即创建,而是在循环时,边循环边创建
range 不会在内存中立即创建,而是边循环边创建

8.可迭代方法

python2 python3
没有__next__(),其他都有 __iter__,iter(),__next__,next()

9.除法( / )

python2 python3
返回相应整数、浮点数 浮点数

10.继承

python2 python3
经典类 默认不继承object
新式类 手动继承object
新式类 默认继承object

11.编码

python2 python3
ascii utf-8

12.readlines和xreadlines

如果只是2个函数返回值有区别(一个返回list,一个返回生成器)

13.模块和包

python2 python3
文件夹/包中必须有_ _ init _ _.py 不需要有_ _ init _ _.py(可有可无)

14.字典

.keys/.values/.items

python2 python3
返回列表 返回迭代器,可以循环但不可以索引

15.map/filter

python2 python3
返回列表 返回迭代器,可以循环但不可以索引
posted @ 2019-04-09 17:27  blog_wu  阅读(267)  评论(0编辑  收藏  举报