python2与python3的区别整理(持续更新中)

宏观区别:

python2

源码不标准,混乱,重复代码太多

python3

统一标准,去除重复代码


具体区别:

1. 编码

Python2 默认编码方式是ascii

Python3 默认编码方式utf-8

例如执行如下代码:

print('你好,世界')

Python3 成功输出字符,而 Python2 报错
编码区别
解决方式:py文件的首行加入:

#-*- encoding:utf-8 -*-

2. print

Python2 中 print 输出内容时,可以写成print(A) ,也可以写为print "A"

Python3 中只能使用print(A)

例如:
print区别


3. range() 与 xrange()

Python2 中range([start,] stop[, step]),根据 start 与 stop 指定的范围以及 step 设定的步长,生成一个列表。xrange([start,] stop[, step])range()用法相同,只不过返回的是一个生成器。
所以相对来说, xrange 比 range 性能优化很多,因为它不需要一下子开辟一块很大的内存,特别是数据量比较大的时候。

Python3 中取消 range() 的用法,而是将 xrange() 改名为 range(),返回一个可迭代对象 。


4. input() 与 raw_input()

Python2 中,raw_input() 将所有的输入作为字符串看待,返回字符串类型。 而 input() 则希望读取一个合法的 Python 表达式,即在输入字符串的时候需要用引号括起来,否则就会报错。

Python3 中,将 input() 去掉了,并将 raw_input 改名为 input()。若想使用 Python2 中的 input() 功能,则使用 eval(input()),效果基本相同。


  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值