python2.7過渡到python3.6時遇到的差異總結


1.Python3中print為一個函數,必須用括號括起來而Python2中print為class

print('hello')

2.python3將raw_input和input進行了整合,只有input,輸入的為str

3.Python3中/表示真除,%表示取余,//結果取整;Python2中帶上小數點/表示真除,%表示取余,//結果取整

4.python3中沒有了xrange,python3的range就是xrange,也就是說range()返回的不再是一個列表而是一個class,如果要得到列表需要list(),for i in range(3)照樣可以這樣使用

5.python3中字典類方法has_key()也不再支持,用運算符處理,eg:'abc' in dic
字典的items()和keys()返回的不再是一個列表而是一個class,需要用list()轉換為list;

6.字符串編碼
在Python2中,作為兩種類型的字符序列,str與unicode需要轉換,它們是這樣轉換的.
str——decode方法——》unicode——encode方法——》str

u'string'          

在python3中可以這樣對應這轉換,配合上面的圖,也許會好理解一點。
byte——decode(解碼)方法——》str——>encode(編碼)方法——》byte 

b'string'    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM