您好,登錄后才能下訂單哦!
這篇文章運用簡單易懂的例子給大家介紹小白用python2還是3,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
想學習Python的人都會有一個困惑,那就是Python目前有兩個版本Python2和Python3,Python2與Python3有何區別,兩個版本該學習哪個呢?
python3 和 python2 是不兼容的,而且差異比較大,python3是不向下兼容的,但是絕大多數組件和擴展都是基于python2的。目前實際應用中大部分暫不考慮 Python3,有的時候注意寫兼容 2/3 的代碼。用 Python2 為主的寫新代碼時要考慮以后遷移到 Python3 的可能性。據數據統計顯示目前10% 使用 Python 3;20% 既使用Python 2也使用Python 3,Python2用的更多;70% 使用Python 2。
其實python是linux上最常用的軟件之一,但是linux目前的版本大部分還是使用python2的,而且,在linux上依賴python2的程序更多一些,所以 Python3 要代替 python2 成為主流還需要幾年的時間。如果為了找工作還是學Python 2,學會了Python 2,由Python 2轉到python3也不難。
說了半天,Python2與Python3到底有何區別呢?
1.性能
Py3.0運行pystone benchmark的速度比Py2.5慢30%。Guido認為Py3.0有極大的優化空間,在字符串和整形操作上可以取得很好的優化結果。
Py3.1性能比Py2.5慢15%,還有很大的提升空間。
2.編碼
Py3.X源碼文件默認使用utf-8編碼,這就使得以下代碼是合法的:
>>> 中國 = 'china' >>>print(中國) china
3. 語法
1)去除了<>,全部改用!=
2)去除``,全部改用repr()
3)關鍵詞加入as 和with,還有True,False,None
4)整型除法返回浮點數,要得到整型結果,請使用//
5)加入nonlocal語句。使用noclocal x可以直接指派外圍(非全局)變量
6)去除print語句,加入print()函數實現相同的功能。同樣的還有 exec語句,已經改為exec()函數
4. 字符串和字節串
1)現在字符串只有str一種類型,但它跟2.x版本的unicode幾乎一樣。 2)關于字節串,請參閱“數據類型”的第2條目
5.數據類型
1)Py3.X去除了long類型,現在只有一種整型——int,但它的行為就像2.X版本的long
2)新增了bytes類型,對應于2.X版本的八位串,定義一個bytes字面量的方法如下:
>>> b = b'china' >>> type(b) <type 'bytes'>
str對象和bytes對象可以使用.encode() (str-> bytes) or .decode() (bytes -> str)方法相互轉化。
>>> s = b.decode() >>> s 'china' >>> b1 = s.encode() >>> b1 b'china'
3)dict的.keys()、.items 和.values()方法返回迭代器,而之前的iterkeys()等函數都被廢棄。同時去掉的還有
dict.has_key(),用 in替代它吧
關于小白用python2還是3就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。