我對Python中的類型和類有點困惑。對於例如以下REPL談話讓我困惑:Python中的類型和類
>>> class A: pass
...
>>> a = A()
>>> type(a)
<type 'instance'>
>>> a.__class__
<class __main__.A at 0xb770756c>
>>> type([])
<type 'list'>
>>> [].__class__
<type 'list'>
>>> type(list)
<type 'type'>
>>> list.__class__
<type 'type'>
>>> type(A)
<type 'classobj'>
>>> A.__class__
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: class A has no attribute '__class__'
- 爲什麼是內在的東西的類型和種類(例如在此列出)相同,但對於用戶類/類型的不同?
- 是不是每個類都是某個其他類的實例(如Java中的Class)?爲什麼沒有
__class__
用戶定義類?
任何解釋/進一步閱讀可以澄清這種行爲將不勝感激。 TIA。
你應該用'class A(object)'定義你的類。然後你會得到''。 –
2010-12-18 19:50:33