在2020年python 2已经停止维护了,对于刚接触的pyhton的人员,可能直接学习了python3版本,可能就不太了解python 2 版本中的差异,那么就介绍一下python2和python3中几个不同的变化。可以便于你更加深入了解python的语法。
1.print
在python3中print是一个函数需要这样来书写print("hello world!")
,在pyhton2中的书写方式为python "hello world!"
还有一些其他的差异,python2中在结尾处会使用一个逗号,使下一个print语句输出的内容于本次输出的内容显示一行:
print "hello",
print "world!"
在python3中需要这样做会显现在一行当中
print("hello",end="")
print("world!")
print在python2和python3代码中的高亮颜色也不同,在python2中print是一个关键字。python3中print()是一个函数。
2.input()
- python2中raw_input()在python3中改为input()。
input()这个函数会返回字符串,不会尝试对输入字符做任何计算。 - python2中的input()函数会对输入进行计算,会将它转换为数字,这个函数在python3中不存在
python2
your_name=raw_input("请输入你的名字:")
your_age=input("请输入你的年龄:")
python3
your_name=input("请输入你的名字:")
your_age=int(input("请输入你的年龄:"))
3.整除
python2中运行是这样
print 5/2
#输出
2
python3会默认进行浮点数的除法
print(5/2)
#输出
2.5
你想在python3中进行整除,需要使用//(双斜线)
print(5//2)
#输出
2
对于操作符%,用于计算整数相除的余数,python 2和python3的运行相同,没有变化。
4.range()
在python2中,range()函数返回一个列表。
print range(5)
#输出
[0, 1, 2, 3, 4]
在python3中,range()返回一个range对象。
print(range(5))
#输出
range(0, 5)
- 循环访问的话,python2和python3中range对象的工作方式和列表基本一样。
工具
可以使用2to3的工具会尝试自动将python2代码转换为python3代码。