更改其代码使其能够在Python35上运行
对于需要在Python 3.5上运行的代码,需要考虑以下问题:
- print语句的更改
在Python 3.5中,print语句需要用括号括起来,例如:
Python 2.x:
print "Hello, World!"
Python 3.x:
print("Hello, World!")
- 字符串编码
在Python 3.x中,字符串默认使用Unicode编码,而在Python 2.x中,默认使用ASCII编码。因此,在Python 3.x中,不需要使用u前缀来指定Unicode字符串。
Python 2.x:
print u"你好,世界!"
Python 3.x:
print("你好,世界!")
- xrange函数的更改
在Python 2.x中,xrange函数用于生成一个范围内的整数序列,而在Python 3.x中,xrange函数被range函数取代。
Python 2.x:
for i in xrange(10):
print i
Python 3.x:
for i in range(10):
print(i)
- Division操作符的更改
在Python 2.x中,整数之间的除法操作会得到一个整数结果,而在Python 3.x中,整数之间的除法操作会得到一个浮点数结果。因此,在Python 3.x中,需要使用//操作符来进行整数除法。
Python 2.x:
print 5/2 # 输出2
Python 3.x:
print(5/2) # 输出2.5
print(5//2) # 输出2
- input函数的更改
在Python 2.x中,input函数获取的输入会被解释为Python代码,而在Python 3.x中,input函数获取的输入会被解释为字符串。因此,在Python 3.x中,需要使用eval函数来将字符串转换为Python代码。
Python 2.x:
name = input("What is your name? ")
print "Hello, " + name + "!"
Python 3.x:
name = eval(input("What is your name? "))
print("Hello, " + name + "!")
以上是一些常见的Python 2.x和Python 3.x之间的差异,需要根据具体情况进行修改
原文地址: http://www.cveoy.top/t/topic/hstF 著作权归作者所有。请勿转载和采集!