我已经在python3.6.2中编写了代码,但是在我的生产服务器中python2.6.6可用,所有语法会有什么不同?
我在Python 3.6.2中使用过print(如果没有的话)用于循环,函数和列表。
请帮助我。
答案 0 :(得分:2)
来自python文档:
为了保持兼容性,您创建的任何新模块都应 至少在其顶部具有以下代码块:
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
这将解决打印中的括号问题,5/2 = 2.5(在python3中)与2(在python2中)。但是,可能还存在其他一些问题。您需要手动检查并更正这些问题。
答案 1 :(得分:0)
打印报表
Python 2:
print 'Hello, World!'
print('Hello, World!')
print "text", ; print 'print more text on the same line'
Python 3:
print('Hello, World!')
print("some text,", end="")
print(' print more text on the same line')
用于循环
Python 2:
i = 1
print 'before: i =', i
print 'comprehension: ', [i for i in range(5)]
print 'after: i =', i
Python 3:
i = 1
print('before: i =', i)
print('comprehension:', [i for i in range(5)])
print('after: i =', i)
答案 2 :(得分:-1)
主要区别是括号(),因为在python 3中,括号()的使用率高于两个括号。
例如python 3: 打印(字符串)
和在python 2中: 打印字符串
这是您必须进行的主要更改(打印语句)。
还有两个用于转换代码的开源程序(您可以在PyPI.org上找到):
2to3-用于将python 2转换为python 3
3to2-用于将python 3转换为python 2
这些作品经常出现,但并不完美