永发信息网

python 2和3 语法相差大么

答案:6  悬赏:50  手机版
解决时间 2021-01-06 16:36
python 2和3 语法相差大么
最佳答案
你好,Python2.x和Python3.x的语法主要差别是
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)改变了顺序操作符的行为,例如x8)输入函数改变了,删除了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这样定义函数了
10)新式的8进制字变量,相应地修改了oct()函数。
2.X的方式如下:
>>> 0666
438
>>> oct(438)
'0666'
3.X这样:
>>> 0666
SyntaxError: invalid token (, line 1)
>>> 0o666
438
>>> oct(438)
'0o666'
11)增加了 2进制字面量和bin()函数
>>> bin(438)
'0b110110110'
>>> _438 = '0b110110110'
>>> _438
'0b110110110'
12)扩展的可迭代解包。在Py3.X 里,a, b, *rest = seq和 *rest, a = seq都是合法的,只要求两点:rest是list
对象和seq是可迭代的。
13)新的super(),可以不再给super()传参数,
>>> class C(object):
def __init__(self, a):
print('C', a)
>>> class D(C):
def __init(self, a):
super().__init__(a) # 无参数调用super()
>>> D(8)
C 8
<__main__.D object at 0x00D7ED90>
14)新的metaclass语法:
class Foo(*bases, **kwds):
pass
15)支持class decorator。用法与函数decorator一样:
>>> def foo(cls_a):
def print_func(self):
print('Hello, world!')
cls_a.print = print_func
return cls_a
>>> @foo
class C(object):
pass
>>> C().print()
Hello, world!
class decorator可以用来玩玩狸猫换太子的大把戏。更多请参阅PEP 3129
全部回答
不算很大,比如python2中输入可以直接
print "123"
但python3必须用
print ("123")
建议楼主开发或者测试环境都是用python2
差别还是比较大的 如果没有工具帮助的话 会很难转换
pycharm 可以识别版本差异 并帮助修正
基础语法差别是不大的,部分方法的调用方式改变了少许而已,有的函数被作为了方法,等等,很少不同,而第三方库就很多了,基本3和2差别很大,当然也只是名字上不同,语法本质上还是一样的
不是特别大,基本相同。
但也有一些小改动,比如print函数,在3版本中必须加括号了。
你学习的话可以从3版本学,但是2版本的库支持更强大一些。
所以,看你选择了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
寻找杂牌空调生产厂家
第一题和第二题第三题怎么做?
excel 跨行多行怎么求和?
ipad mini还原网络设置的时候卡住了,求救啊
先问一下这本都市小说是什么
单选题抗战初期,国民政府在正面战场先后组织
胸部下垂怎么办男友会嫌弃我吗?
我们学校占地面积约24万()
12孔陶笛中高低音那些还有什么C调的 在陶笛上
污水处理物化分三阶段1加,naoh,cacl2,2加p
柯南一梦半生尽的下句是?
远洋和万科的介绍?
37×多少等于999
有人做过水中挥发酚吗,我在操作过程中有好多
0.09和0.9谁大。7.8和8.7谁大。90厘米和0.9分
推荐资讯
在红岩中 有一个大叛徒甫志高 你觉得他的叛变
戴尔Precision 5510系列,质量怎么样?跟惠普
“不随意注意实际上没有注意到应注意的事物”
光纤线的两个接口是用来干嘛的
QQ群空间相册容量是多少?
linux shell -x什么意思
化简:(log2(3)+log4(9)+log8(27)+…+log2n(
金青鸟换食换水拼命撞笼怎么办
《孔令焕》三个字韩语怎么写
有谁知道嘉兴梦天电器有限公司来历
寻找江河
带有Li(第四声)音的成语或者诗句有哪些
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?