python2.0与python3.0的区别。

Python012

python2.0与python3.0的区别。,第1张

Python2.0与Python3.0主要区别在于以下几个方面:

1、输出

Python2.0使用print关键字进行输出,比如:print “Hello”

Python3.0使用print()函数,比如print("Hello")。

2、输入方面

Python2.0使用raw_input()函数,比如:name=raw_input("请输入你的名字:")

Python3.0使用input()函数,比如:name=input("请输入你的名字:")。

3、字符串的编码格式

Python2.0默认采用ASCII编码对输入的字符串进行编码

而Python3.0默认采用Unicode编码对字符串进行编码。

4、格式化字符串的方式

Python2.0用%占位符进行标准化格式输出字符串,比如:“Hello,%s" % ("World")

Python3.0用format()函数,比如:”Hello,{}“.format("World")。

5、源文件的编码格式

Python2.0默认采用ASCII,因此使用中文时要在源文件开头加上一行注释:# -- coding: utf-8 --

Python3.0默认采用utf-8。

1.性能

Py3.0运行 pystone benchmark的速度比Py2.5慢30%。Guido认为Py3.0有极大的优化空间,在字符串和整形操作上可

以取得很好的优化结果。

Py3.1性能比Py2.5慢15%,还有很大的提升空间。

2.编码

Py3.X源码文件默认使用utf-8编码,这就使得以下代码是合法的:

>>>中国 = 'china'

>>>print(中国)

china

3. 语法

1)去除了<>,全部改用!=

2)去除``,全部改用repr()

3)关键词加入as 和with,还有True,False,None

4)整型除法返回浮点数,要得到整型结果,请使用//

5)加入nonlocal语句。使用noclocal x可以直接指派外围(非全局)变量

6)去除print语句,加入print()函数实现相同的功能。同样的还有 exec语句,已经改为exec()函数

例如:

2.X: print "The answer is", 2*2

3.X: print("The answer is", 2*2)

2.X: print x, # 使用逗号结尾禁止换行

3.X: print(x, end=" ") # 使用空格代替换行

2.X: print # 输出新行

3.X: print() # 输出新行

2.X: print >>sys.stderr, "fatal error"

3.X: print("fatal error", file=sys.stderr)

2.X: print (x, y) # 输出repr((x, y))

3.X: print((x, y)) # 不同于print(x, y)!

7)改变了顺序操作符的行为,例如x<y,当x和y类型不匹配时抛出TypeError而不是返回随即的 bool值

8)输入函数改变了,删除了raw_input,用input代替:

2.X:guess = int(raw_input('Enter an integer : ')) # 读取键盘输入的方法

3.X:guess = int(input('Enter an integer : '))

9)去除元组参数解包。不能def(a, (b, c)):pass这样定义函数了

以下是他们之间的区别:

1、python2默认是使用ASCII编码,所以说他们的编码默认是不支持中文的。

python3默认是使用UTF-8的编码,所以他们默认是支持中文的。

2、python2是不支持中文编码的,而且python2 的变量命名只能用英文。

python3是支持中文的,而且python3的变量命名是能够使用中文的。