python的3.0版本,常被稱為python 3000,或簡稱py3k。相對於python的早期版本,這是乙個較大的公升級。
為了不帶入過多的累贅,python 3.0在設計的時候沒有考慮向下相容。
許多針對早期python版本設計的程式都無法在python 3.0上正常執行。
為了照顧現有程式,python 2.6作為乙個過渡版本,基本使用了python 2.x的語法和庫,同時考慮了向python 3.0的遷移,允許使用部分python 3.0的語法與函式。
新的python程式建議使用python 3.0版本的語法。
除非執行環境無法安裝python 3.0或者程式本身使用了不支援python 3.0的第三方庫。目前不支援python 3.0的第三方庫有twisted, py2exe, pil等。
大多數第三方庫都正在努力地相容python 3.0版本。即使無法立即使用python 3.0,也建議編寫相容python 3.0版本的程式,然後使用python 2.6, python 2.7來執行。
python 3.0的變化主要在以下幾個方面
print語句沒有了,取而代之的是print()函式。
python 2 有 ascii str() 型別,unicode() 是單獨的,不是 byte 型別。
現在, 在 python 3,我們最終有了 unicode (utf-8) 字串,以及乙個位元組類:byte 和 bytearrays。
在python 3.x中/除法不再這麼做了,對於整數之間的相除,結果也會是浮點數。
捕獲異常的語法由 except exc, var 改為 except exc as var。
在 python 3 中,range() 是像 xrange() 那樣實現以至於乙個專門的 xrange() 函式都不再存在(在 python 3 中 xrange() 會丟擲命名異常)。
在python 3.x中,表示八進位制字面量的方式只有一種,就是0o1000。
python 3.x中去掉了<>, 只有!=一種寫法,還好,我從來沒有使用<>的習慣
python 3.x 中去掉了``這種寫法,只允許使用repr函式,這樣做的目的是為了使**看上去更清晰麼?不過我感覺用repr的機會很少,一般只在debug的時候才用,多數時候還是用str函式來用字串描述物件。
多個模組被改名(根據pep8)
py3.x去除了long型別,現在只有一種整型——int,但它的行為就像2.x版本的long
新增了bytes型別,對應於2.x版本的八位串,定義乙個bytes字面量的方法如下:
str物件和bytes物件可以使用.encode() (str -> bytes) or .decode() (bytes -> str)方法相互轉化。
dict的.keys()、.items 和.values()方法返回迭代器,而之前的iterkeys()等函式都被廢棄。同時去掉的還有 dict.has_key(),用 in替代它吧 。
的全稱是什麼 亞洲的全稱是什麼?十有九不知
現如今人們的知識儲備量正在逐步提高,各種各樣的知識類競賽節目也相繼出現。其實許多的知識就存在於我們的生活之中,只要用心去發現,去感受,就一定會有收穫。相信許多人都清楚,現在國家的名稱,比如 美國 英國 中國 都是採用的簡稱,相對來說較為方便。美國的全稱為美利堅合眾國,當然中國的全稱身為中國人應該都清...
lms全稱是什麼意思 BESC是什麼意思
besc是什麼意思?besc是法語的叫法,全稱是bordereau electronique de suivi des cargaisons,直譯就是電子貨物跟蹤單,主要是註明每票貨物的提單號碼 起運港 卸貨港 船名航次 品名 貨值 海運費 成交方式等,主要用於收貨人在目的港清關,現在出到非洲很多國...
python進去後是什麼樣子 進入Python世界
pycharm的使用以及個性化設定 file settings editor general change font size file settings editor font 修改預設字型大小 file settings editor color scheme python monokai 主題...