在python類聲明中,我可以通過幾種方式聲明類。以下樣品有什麼區別?Python類聲明中的區別
class MyClass:
def __init__(self)
pass
class MyClass(object):
def __init__(self)
pass
在python類聲明中,我可以通過幾種方式聲明類。以下樣品有什麼區別?Python類聲明中的區別
class MyClass:
def __init__(self)
pass
class MyClass(object):
def __init__(self)
pass
第二種方法創建一個「新」類。無可否認文檔有點缺乏,正如python網站Python Guide 3.3和here上的幾個地方所提到的。還有一個essay由Python的創建者(Guido van Rossum)描述他們的設計,但它不是嚴格的文檔。
第二個聲明創建了一個new-style class。一種新式的類是從內置類型派生的,在這種情況下是object
。這是在Python 2.2中引入的,旨在統一類和類型。爲了向後兼容舊式類仍然是默認的
附加讀:http://docs.python.org/release/2.2.3/whatsnew/sect-rellinks.html
FTR,在Python 3中,這兩種語法沒有區別。 – 2012-01-03 11:05:04
一個重要的問題,但可以明顯地通過閱讀文檔回答'自助服務'.. – wim 2012-01-03 11:09:05