Python2和Python3的区别

本文概述了Python2升级到Python3时的重要语法变化,包括print函数的改变、Unicode处理、浮点数除法、异常处理、range和xrange的区别、八进制和二进制表示法、不等运算符调整、repr表达式、模块命名规则以及数据类型的更新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.print函数

# python 2
print "fish"

# python 3
print("fish")
print ("fish")

2.Unicode

# python 2
str = "我爱北京天安门"
str = '\xe6\x88\xe7.......'

# python 3
str = "我爱北京天安门"
str = '我爱北京天安门'

3.除法运算

# python 2
1/2      # 0
1.0/2.0  # 0.5

# python 3
1/2      # 0.5

4.异常

捕获异常的语法由except exc,var改为except exc as var

5.xrange

# python 2
for i in xrange(10):
    print(i)
# 0 1 2 3 4 5 6 7 8 9   

# python 3
for i in range(10):
    print(i)  
# 0 1 2 3 4 5 6 7 8 9   

# python 3   
numbers = list(range(10))
print(numbers)  
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

6.八进制字面量表示

八进制数必须写成0o777,原来的形式0777不能用了

二进制必须写成0b111

新增bin()函数用于将一个整数转换成二进制字串

print(bin(120))
# 0b1111000

7.不等运算符

# 不等
a != b
a <> b   # python 3 删除此符号

8.去掉了repr表达式``

python 2.x 中反引号``相当于repr函数的作用

python 3.x 中去掉了``这种写法,只允许使用repr函数

9.多个模块被改名(根据PEP8)

旧的名字新的名字
_winregwinreg
ConfigParserconfigparser
copy_regcopyreg
Queuequeue
SocketServersocketserver
reprreprlib

10.数据类型

  • Py3.X去除了long类型,现在只有一种整型——int,但它的行为就像2.X版本的long
  • 新增了bytes类型,对应于2.X版本的八位串

后记

个人笔记产出,如有不足之处还望斧正,详情见官方文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

明月落乌江

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值