随着Python编程语言的不断更新,Python 2.7和 Python 3.6是两个不同版本的Python。这两个版本计算机的运行方式以及代码的编写方法都有一些区别。
一、语言本身的变化
Python 3.x 已经在 2008 年发布,距离 Python 2.x 发布已经有些年头了。Python 2.7 和 Python 3.6之间的主要区别有:
1. print 语句的不同
Python 2.7:print "hello, world"
Python 3.6:print("hello, world")
2. 异常处理的不同
Python 2.7:except Exception, e
Python 3.6:except Exception as e
3. 整数除法的不同
Python 2.7:3 / 2 = 1
Python 3.6:3 / 2 = 1.5
二、Python 2.7 和 3.6 在库和包方面的区别
Python 3.6的库和包都随版本发布,因为Python 3.x是一个完全不同的语言,只与Python 2.7存在一些共通点。因此,在升级到Python 3.6时,需要考虑是否有足够的第三方库支持。
1. urllib的包名不同
Python 2.7:import urllib
Python 3.6:import urllib.request
2. 引用库的方式不同
Python 2.7:import Queue
Python 3.6:import queue
三、数据类型的变化
Python 3.6 增加了一些新的数据类型,并修改或删除了某些数据类型。
1. bytes 和 str 数据类型的不同
Python 2.7:str 是一个 8-bit 文本字符串,unicode 是一个 16-bit 编码字符串。
Python 3.6:bytes 是一个字节字符串,str 是一个 Unicode 字符串。
2. long 数据类型被删除
Python 2.7:有一个 long 数据类型,64 位整数,但是在 Python 3.6 中删除了这个类型。在 Python 3.6 中,所有整数都是 int 数据类型,无论有多大。
四、输入方式的不同
Python 2.7 可以使用 raw_input() 函数获取用户输入,而在 Python 3.6 中 raw_input() 已被删除。 Python 3.6 中,使用 input() 函数获取用户输入。
示例代码
Python 2.7:
name = raw_input("Please enter your name: ") print "Hello, " + name + "!"
Python 3.6:
name = input("Please enter your name: ") print("Hello, " + name + "!")