python3是什麼

(*-*)浩
發布: 2019-05-29 15:15:25
原創
10587 人瀏覽過

Python的3.0版本,常被稱為Python 3000,或簡稱Py3k。相對於Python的早期版本,這是一個較大的升級。

為了不帶入過多的累贅,Python 3.0在設計的時候沒有考慮向下相容。

python3是什麼

許多針對早期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中/除法不再這麼做了,對於整數之間的相除,結果也會是浮點數。

在 Python 3 中處理異常也輕微的改變了,在 Python 3 中我們現在使用 as 作為關鍵字。

捕獲異常的語法由 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取代它吧 。

以上是python3是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板