返回列表 发新帖

python 2和python 3有什么区别?

256.7k 10
swmozowtfl 发表于 2015-7-28 11:33:52|湖北 | 查看全部 阅读模式
到这个题目大家可能猜到了我接下来要讲些什么,呵呵,对了,那就是列出这两个不同版本间的却别!
6 j" ^7 P  j2 l- {搜索一下大家就会知道,python有两个主要的版本,python2 和 python3 ,但是python又不同于其他语言,向下兼容,python3是不向下兼容的,但是绝大多数组件和扩展都是基于python2的,下面就来总结一下python2和python3的区别。& \' y3 W- \  C
1.性能1 X9 l) ~0 K( I* k& }$ q
py3.0运行 pystone benchmark的速度比py2.5慢30%。guido认为py3.0有极大的优化空间,在字符串和整形操作上可- T+ F  d- Z  G( Z5 c
以取得很好的优化结果。3 h  L- ~) \$ v* o
py3.1性能比py2.5慢15%,还有很大的提升空间。- ^+ i! ~4 n$ J- G7 Z/ g0 \
2.编码
- B6 ?5 M% K6 v* s. Y" Bpy3.x源码文件默认使用utf-8编码,这就使得以下代码是合法的:4 g1 c) I. z! n. m2 i+ e, e
>>> 中国 = 'china'5 t6 k% I( ^! i6 _! p! ?) ^
>>>print(中国)
% ^8 x% c$ v; Schina' f5 D2 [3 x- {& E7 y
3. 语法3 O: ^; \" x; {
1)去除了<>,全部改用!=: Q% D: `8 h0 I: f/ r+ ^+ O/ f
2)去除``,全部改用repr()0 o. W  Q  ^# Y! c- p
3)关键词加入as 和with,还有true,false,none
+ N6 u& H# u, `5 |4)整型除法返回浮点数,要得到整型结果,请使用//9 ?, s  @( w7 ]: M. l$ D
5)加入nonlocal语句。使用noclocal x可以直接指派外围(非全局)变量
2 R" C/ U, _& ^6 D0 W6)去除print语句,加入print()函数实现相同的功能。同样的还有 exec语句,已经改为exec()函数& A3 c& |( O3 `* {& h2 }
例如:/ j, j3 H1 u8 V( w/ J- _: V2 G: U, T
2.x: print the answer is, 2*2) Q" X1 C$ w  X+ c( g8 m
3.x: print(the answer is, 2*2)
0 ?- W$ y2 }5 Z9 c, d, `2.x: print x, # 使用逗号结尾禁止换行
9 Q, K8 |; W* g7 }+ \( o3.x: print(x, end= ) # 使用空格代替换行
6 v7 a, i3 s) ?2.x: print # 输出新行9 C# m$ B5 `1 F' O: ^
3.x: print() # 输出新行* @: F  e/ p- q" q6 r8 i; i
2.x: print >>sys.stderr, fatal error
0 a0 L9 C, [" X. h7 P, S2 z3 c3 ~3.x: print(fatal error, file=sys.stderr)1 f6 q# y% |0 V* f& q' |
2.x: print (x, y) # 输出repr((x, y))7 {' p7 R2 z* @# L9 L. Q, q0 X
3.x: print((x, y)) # 不同于print(x, y)!
* w- N0 N5 @9 T9 T' O5 M7)改变了顺序操作符的行为,例如x/ p; c; }6 ^7 N: ^( C( h2 c
8)输入函数改变了,删除了raw_input,用input代替:
! M% q. x/ c6 ^1 R2 T# c/ @8 y; P2.x:guess = int(raw_input('enter an integer : ')) # 读取键盘输入的方法9 j+ k" Y- N. J, o0 V
3.x:guess = int(input('enter an integer : '))& t: X5 F" x( m+ {
9)去除元组参数解包。不能def(a, (b, c)):pass这样定义函数了! p4 [* v# m$ W& A! L% L" T" F9 N
10)新式的8进制字变量,相应地修改了oct()函数。" `! r0 S. }& K4 }
2.x的方式如下:
  ~% z* G* X; o6 M( q>>> 0666
  R+ @& K, K  }4381 c2 M5 o8 t. q7 h6 f9 ]
>>> oct(438)
/ n6 ^( v% D* S/ [; p  E'0666'' j: _6 o2 {- e
3.x这样:3 K. J1 V" Q0 O; A: Y% n9 Y% m
>>> 0666
/ a0 ]3 T0 j1 _0 Xsyntaxerror: invalid token (& _6 Z  q5 l1 @; N7 G; U, ]9 _
>>> 0o666: v. f6 H# q8 v3 a5 b9 h% [$ c% U
438$ W: [7 [, V1 {. K( w4 b. p) C1 A
>>> oct(438)6 y2 u6 w% D& f8 F2 b$ N; y
'0o666') c/ `5 L; ]& b/ {; ^
11)增加了 2进制字面量和bin()函数* H: ^. o/ r, c  `/ X+ h& i
>>> bin(438)
# B3 A/ h; P- v) c; Y9 u  j'0b110110110'$ o3 y; h# r$ `7 K& g
>>> _438 = '0b110110110'8 L; w& ?+ \: T% W, X9 |
>>> _438
2 I5 q+ m8 k2 d8 r$ R8 l' T8 H'0b110110110'  B3 |! B  L5 N# d2 ?3 K, j" [
12)扩展的可迭代解包。在py3.x 里,a, b, *rest = seq和 *rest, a = seq都是合法的,只要求两点:rest是list# z% d9 \2 p$ \4 E  ?8 L( p
对象和seq是可迭代的。
1 q6 R/ v8 }3 i" t* ?2 Y! x13)新的super(),可以不再给super()传参数,
( Z* W) C9 ]9 K- O>>> class c(object):7 x. Y. r& r7 j& \
def __init__(self, a):
, I) n2 ?+ d; w$ g. Uprint('c', a)4 p% t+ y! s4 e
>>> class d(c):
7 W: t8 ]. h" m0 vdef __init(self, a):- `  f' {# k8 ?' X- |! a) @! n
super().__init__(a) # 无参数调用super()8 G( y7 G' L& p$ H6 C+ B+ p: x$ y
>>> d(8)
6 C* \' X& x8 H& ^' dc 8
6 g3 K9 O5 _+ S( g" d<__main__.d object at 0x00d7ed90>. G& o2 e9 l: X+ f+ t2 N* E

- }8 J, l) X# h& D更多网站运营信息请查看: 网站运营

回复|共 10 个

wwdu926a 发表于 2016-1-16 18:23:38|北京 | 查看全部
楼主说的是什么?我是小白,好像还没看明白!
tohme 发表于 2016-1-16 18:22:05|日本 | 查看全部
我只是为了十万积分默默奋斗。
bqtklouu 发表于 2016-1-16 18:23:23|韩国 | 查看全部
命不能争,运可以造,弱者认命,强者抗命,能者求命,智者造命。
wwdu926a 发表于 2016-1-16 18:22:46|韩国 | 查看全部
你可是难得来坐坐啊~~~
mwxny 发表于 2016-1-16 18:23:16|德国 | 查看全部
你还想说什么啊....
wwdu926a 发表于 2016-3-10 09:58:55|IANA | 查看全部
综上所述,恳请各位官员请勿动用武装力量请勿跨村、跨镇、跨市、跨省、跨国、跨洲、跨星球、跨银河系追捕。确因不抓不足以平民愤,或不抓就领不到薪水养家户口的公职人员,建议携带工作证
GoodyFouppy 发表于 2016-3-10 09:58:31|美国 | 查看全部
俺灌的不是水,是寂寞啊!
mwxny 发表于 2016-3-10 09:59:40|美国 | 查看全部
估计你是没见识过~` 呵呵
gevaemaidovef 发表于 2016-3-10 09:59:02|泰国 | 查看全部
什么?????不知道......
buingeEvineus 发表于 2016-3-10 09:59:08|美国 | 查看全部
一骂人就激动....

回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

得知互动是一个融创意、设计、开发、营销、生活、互联网于一体的专业交流分享平台。
Copyright © 2026 得知互动-专注Ai与站长技术交流社区-Ai交流平台 版权所有 All Rights Reserved. Powered by Discuz! X5.0 鄂ICP备15006301号-5|鄂公网安备 42018502006730号
关灯 在本版发帖 扫一扫添加QQ客服 返回顶部
快速回复 返回顶部 返回列表