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