這篇文章主要介紹了python2和python3版本有哪些區(qū)別,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
站在用戶的角度思考問題,與客戶深入溝通,找到濟水街道網(wǎng)站設計與濟水街道網(wǎng)站推廣的解決方案,憑借多年的經驗,讓設計與互聯(lián)網(wǎng)技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都做網(wǎng)站、網(wǎng)站設計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、申請域名、虛擬空間、企業(yè)郵箱。業(yè)務覆蓋濟水街道地區(qū)。
Python主要應用于:1、Web開發(fā);2、數(shù)據(jù)科學研究;3、網(wǎng)絡爬蟲;4、嵌入式應用開發(fā);5、游戲開發(fā);6、桌面應用開發(fā)。
Python 2.x的版本,被稱為Python2,目前最新版是2.7.18
Python 3.x的版本,被稱為Python3,目前最新版是3.9.1
從Python2到Python3是一個大版本升級,兩者之間有很多地方互不兼容。
使用時當然選擇越新的Python版本越好,版本越老的代碼越難維護。
維護老版本的代碼時,需要了解各版本之間的主要差異。有時看到一些代碼的語法特點,可以大致猜出它是什么版本
1.print函數(shù):
Python 2:print是語句
print "Hello World!" # 結果:Hello World!
Python 3:print是函數(shù)
print('Hello World!') # 結果:Hello World! print 'Hello World' # 結果:SyntaxError: Missing parentheses in call to 'print'. Did you mean print('Hello World')?
2.整數(shù)相除:
Python 2:3/2的結果是整數(shù)
print 3 / 2 # 結果:1 print 3 / 2.0 # 結果:1.5
Python 3:3/2的結果是浮點數(shù)
print(3 / 2) # 結果:1.5 print(3 / 2.0) # 結果:1.5
3.Unicode:
Python 2:有兩種字符串類型:str和unicode
a = '您好' print a # 結果:SyntaxError: Non-ASCII character '\xe6' in file ......, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details # 在Python 2中,如果代碼中包含非英文字符,需要在代碼文件的最開始聲明編碼# _*_ coding:utf-8 _*_ a = '您好' print a # 結果:您好
Python 3:字符串默認就是Unicode
a = '您好' print(a) # 結果:您好
Python 3中的str相當于Python 2中的unicode
4.異常處理:
Python 2:
try: result = 1 / 0 print result except ZeroDivisionError, e: print str(e) # 結果:integer division or modulo by zero
或
try: result = 1 / 0 print result except ZeroDivisionError as e: print str(e) # 結果:integer division or modulo by zero
Python 3:只支持as關鍵字
try: result = 1 / 0 print(result) except ZeroDivisionError as e: print(str(e)) # 結果:division by zero
5.xrange:
Python 2:有 range 和 xrange 兩個方法
區(qū)別:
range返回一個list,在被調用的時候即返回整個序列
xrange返回一個iterator,在每次循環(huán)中生成序列的下一個數(shù)字
# range print range(4) # 結果:[0, 1, 2, 3] # xrange print xrange(4) # 結果:xrang(4)
Python 3:不再支持 xrange 方法
print(range(4)) # 結果:range(0, 4) for i in range(4): print(i, end=' ') # 結果:0 1 2 3
Python 3中的 range 方法就相當于 Python 2中的 xrange 方法
6.map函數(shù):
Python 2:map函數(shù)返回list
print map(lambda x: x+1, range(5)) # 結果:[1, 2, 3, 4, 5]
Python 3:map函數(shù)返回iterator
print(map(lambda x: x+1, range(5))) # 結果:<map object at 0x00000233A7B85E10> print(list(map(lambda x: x+1, range(5)))) # 結果:[1, 2, 3, 4, 5]
filter函數(shù)在Python 2和Python 3中也是同樣的區(qū)別
7.不支持has_key:
Python 2:
my_dict = {"age": 30, "name": "Zhang San"}print my_dict.has_key("age")print "age" in my_dict # 結果:True# True
Python 3:
my_dict = {"age": 30, "name": "Zhang San"}print("age" in my_dict) # 結果:True print(person.has_key("age")) # 結果:AttributeError: 'dict' object has no attribute 'has_key'
感謝你能夠認真閱讀完這篇文章,希望小編分享的“python2和python3版本有哪些區(qū)別”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關知識等著你來學習!
分享名稱:python2和python3版本有哪些區(qū)別
文章鏈接:http://aaarwkj.com/article12/ipocgc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、App設計、用戶體驗、、動態(tài)網(wǎng)站、網(wǎng)站導航
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)