Python2.x 与 3.x 版本区别学习笔记
1. print函数
在Python 2.x中,print是一个语句,而在Python 3.x中,它是一个函数。这意味着在Python 3.x中,我们必须将要打印的内容放在括号中:
pythonCopy Code# Python 2.x
print "Hello, World!"
# Python 3.x
print("Hello, World!")
2. 整数除法
在Python 2.x中,整数除法使用 /
运算符得出的结果也是整数:
pythonCopy Code# Python 2.x
print 7 / 3 # 输出 2
而在Python 3.x中,整数除法则使用 //
运算符进行运算,得出的结果将被转换为浮点数:
pythonCopy Code# Python 3.x
print(7 // 3) # 输出 2.0
3. Unicode
在Python 2.x中,文本字符串和字节字符串没有明确的区分,因此容易造成编码错误。在Python 3.x中,文本字符串与字节字符串有了明确的区分,文本字符串默认使用Unicode编码。
pythonCopy Code# Python 2.x
s = "你好,世界!"
print type(s) # 输出 <type 'str'>
# Python 3.x
s = "你好,世界!"
print(type(s)) # 输出 <class 'str'>
4. xrange函数
在Python 2.x中,xrange函数返回的是一个迭代器对象,可以节省内存。而在Python 3.x中,这个函数已被废弃,而range函数则返回的是一个迭代器对象。
pythonCopy Code# Python 2.x
for i in xrange(5):
print i,
# Python 3.x
for i in range(5):
print(i, end=' ')
5. raise语法
在Python 2.x中,我们可以使用以下语法来捕获异常:
pythonCopy Code# Python 2.x
try:
a = 1 / 0
except ZeroDivisionError, e:
print "Caught an exception:", e
在Python 3.x中,则需要使用以下语法来捕获异常:
pythonCopy Code# Python 3.x
try:
a = 1 / 0
except ZeroDivisionError as e:
print("Caught an exception:", e)
以上就是Python2.x与3.x版本之间的一些区别,仅作为学习参考。