📜  示例说明Python2.x和Python3.x之间的重要区别(1)

📅  最后修改于: 2023-12-03 15:41:02.914000             🧑  作者: Mango

Python2.x和Python3.x之间的重要区别

Python3.x相对于Python2.x,有许多重要的区别。在这份文章中,我们将介绍这些主要的区别。

print 函数

在Python2.x中,print是一个关键词而不是一个函数。因此,你可以使用以下代码将一个字符串输出到控制台:

print "Hello World!"

而在Python3.x中,print是一个函数。这也意味着,必须把参数放在圆括号中,例如:

print("Hello World!")

为了方便,在Python2.x中使用print时也可以用括号,例如:

print("Hello World!")
Division 运算符

在Python2.x中,如果两个整数相除,结果将舍去小数部分,并保留整数部分。例如,5/2的值将是2。

而在Python3.x中,这种方式被修改了。现在,如果两个整数相除,结果将会是实数,例如,5/2的值将是2.5。

你可能会想,如果我想在Python3.x中像Python2.x那样使用旧的除法方式怎么办?实际上,可以使用双除号//:例如,5//2的值将是2,就像在Python2.x中一样。

Unicode

Python3.x在内部处理Unicode的方式有所不同。默认字符串和字节串分开处理,而在Python2.x中,这两种类型是混在一起的。

在Python3.x中,字符串的默认类型是Unicode。字节串和字符串是分开的。例如,在Python2.x中,我们可以写:

s = "Hello World!"
print type(s)

这将会输出<type 'str'>。因为它是一个字符串。而在Python3.x中,我们需要这样写:

s = "Hello World!"
print(type(s))

这将会输出<class 'str'>。因为str是Python3.x中的Unicode类型。

遍历字典

在Python2.x中,遍历字典使用的是iteritems()方法,如下所示:

d = {"a": 1, "b": 2, "c": 3}

for k,v in d.iteritems():
    print(k, v)

这将会输出:

('a', 1)
('b', 2)
('c', 3)

而在Python3.x中,iteritems()被移除了。现在,只需要使用items()方法即可,如下所示:

d = {"a": 1, "b": 2, "c": 3}

for k,v in d.items():
    print(k, v)

这将会输出:

a 1
b 2
c 3
总结

在这篇文章中,我们介绍了Python2.x和Python3.x之间的一些重要区别。这些变化可能会导致一些旧的Python2.x代码不再兼容Python3.x,所以请谨慎考虑在不同版本的Python之间切换。