python2和python3的一些区别
性能:py3.x起始比py2.x效率低,但是py3.x有極大的優(yōu)化空間,效率正在追趕。
編碼:py3原碼文件默認(rèn)utf-8編碼,使得變量名更為廣闊。
語法:1,去除了 <>? ,改用了? !=?
2,加入了as和with關(guān)鍵字,還有True,False,None
3,整型觸發(fā)返回浮點(diǎn)數(shù),整除使用了‘//’
4,去除了print語句,加入了print函數(shù)
5,去除了raw_input,加入了input()函數(shù)
6,新的super(),在繼承父類的時(shí)候樂意不再給super()傳參數(shù)
7,改變了順序操作符的行為,例如x<y,當(dāng)x和Y類型不匹配時(shí)拋出TypeError,而不是返回bool值
字符串和字節(jié)串:
py2中字符串是以8-bit 字符串存儲(chǔ)
py3中字符串以16-bit Unicode字符串存儲(chǔ),現(xiàn)在的字符串只有str一種類型
數(shù)據(jù)類型:
py3中去除了long類型,現(xiàn)在只有一中整型-- int,但它的行為就像2.x版本的long
新增了bytes類型,對(duì)應(yīng)于2.x版本的八位串。str對(duì)象和bytes對(duì)象可以使用 .encode ()(str ->bytes)?or .decode()(bytes -> str)方法相互轉(zhuǎn)化
面向?qū)ο?#xff1a;引入了抽象基類
異常:所有異常都從BaseException繼承,并刪除了StardardError
py2:
1 try: 2 ...... 3 except Excetion, e: 4 ......py3:
try:..... except Exception as e:......其他 :
range和xrange的區(qū)別:
py2中:
range 函數(shù)說明:range( [start,] stop [,step]),根據(jù)start與stop指定的范圍及step設(shè)定的步長(zhǎng),生成一個(gè)序列。? ?xrange 函數(shù)說明:用法與range完全相同,所不同的是生成的不是一個(gè)數(shù)組,而是一個(gè)生成器
py3:
已經(jīng)將xrange函數(shù)刪除,range函數(shù)同py2中的xrange函數(shù)用法相同
file類被廢棄:
打開文件直接使用? ?open(path)
轉(zhuǎn)載于:https://www.cnblogs.com/Li-1198208544/p/9448071.html
總結(jié)
以上是生活随笔為你收集整理的python2和python3的一些区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux命令更新系统时间,更新所有文件
- 下一篇: python之时间日期time