當在Python 2嘗試下面的腳本,差分型()函數的在Python 2和Python 3
a = 200
print type(a)
其輸出是
<type 'int'>
和在Python 3,腳本
a = 200
print (type(a))
其輸出是,
<class 'int'>
這可能是什麼原因?
當在Python 2嘗試下面的腳本,差分型()函數的在Python 2和Python 3
a = 200
print type(a)
其輸出是
<type 'int'>
和在Python 3,腳本
a = 200
print (type(a))
其輸出是,
<class 'int'>
這可能是什麼原因?
type
行爲不同。他們只是改變了事情,所以所有班級都顯示爲<class ...>
而不是<type ...>
,無論班級是int
這樣的內置類型還是使用class
語句創建的班級。這是消除階級/類型區分的最後一步,這個過程始於2.2。
在過去的日子裏,內置類型如int
和dict
和list
與使用class
構建的類型非常不同。例如,您無法繼承內置類型。
逐漸地,在連續的Python 2.x版本中,class
類型和內置類型之間的差異逐漸消失; Python 2.2中引入了新風格的類(繼承自object
)就是這樣一個(主要)步驟。見Unifying types and classes in Python 2.2。
在內置類型表示中刪除使用type
只是該過程中的最後一步。再也沒有理由再使用名稱type
了。
換句話說,在Python 2.7和3.x之間,這是一個化妝變化,沒有更多。
謝謝@ user2357112 –