回答
這意味着你正在使用舊式的類。在新的代碼,所有的類都應該從object
繼承:
In [3]: class A(object):
...: pass
In [5]: type(A())
Out[5]: __main__.A
,您仍然可以通過查看__class__
獲取類舊式類:
In [1]: class A: pass
In [2]: A().__class__
Out[2]: __main__.A
http://docs.python.org/2/reference/datamodel.html#new-style-and-classic-classes:
類和實例有兩種風格:舊式(或經典)和新式。
在Python 2.1之前,老式的類是用戶唯一可用的風格。 (舊式)類的概念與類型概念無關:如果
x
是舊式類的實例,則x.__class__
指定x
的類,但type(x)
總是<type 'instance'>
。這反映了所有舊式實例與其類別無關,都使用一個稱爲實例的內置類型實現。在Python 2.2中引入了新風格的類來統一類和類型。新風格的類既不多也不少於用戶定義類型。如果
x
是新風格類的實例,則type(x)
通常與x.__class__
相同(儘管這不能保證 - 新風格的類實例被允許覆蓋爲x.__class__
返回的值)。...
出於兼容性考慮,類仍然是舊式默認。通過將另一個新樣式類(即一個類型)指定爲父類,或者如果不需要其他父類,則可以創建新樣式類。除了
type()
返回的內容之外,新風格類的行爲與舊風格類的行爲有很多重要的細節。其中一些更改對於新對象模型來說很重要,就像特殊方法被調用的方式一樣。其他的是「修復」,在兼容性問題之前無法實現,比如多重繼承情況下的方法解析順序。在Python 3中刪除舊式類,只留下新式類的語義。
在Python 2.x中,請注意,如果您使用3.x,則舊式類不再存在,並且暗示「對象」(儘管在此處不存在任何傷害)。 –
我打印了'state .__ class__',它工作。太好了!謝謝 ! – alinsoar
哦。你仍然可以'打印狀態.__ class__'。更新我的回答 –
- 1. Instance()在Python中做什麼?
- 2. 在python中讀取'instance'類型的數據
- 3. Instance()在Python任務中做什麼?
- 4. Python 3:未定義名稱'Class instance'
- 5. TypeError:不支持的操作數類型爲/:'instance'和'instance'和__truediv __/__ div__不同?
- 6. instance Monoid Monad
- 7. Single,global,object instance
- 8. sql show current instance
- 9. $ ini =&eZINI :: instance();
- 10. java.lang.NoSuchFieldError的:INSTANCE
- 11. instance :: class.java vs. instance.javaClass
- 12. 我可以綁定read()函數來在python中輸入'instance'嗎?
- 13. xforms「instance namespace」問題
- 14. 木偶DSC模塊:無法評估:從類型'INSTANCE []'轉換屬性'認證信息'值以鍵入'INSTANCE'失敗
- 15. 在Word-VBA中顯示outlook-instance?
- 16. Port 443在Google Cloud Instance中關閉
- 17. instance在性狀smalltalk的變量
- 18. Python描述符的__set__可以用instance = None調用嗎?
- 19. C#class instance specfic timer elapsed event
- 20. java.lang.NoClassDefFoundError:org/camunda/bpm/model/bpmn/instance/FlowNode
- 21. class Class - instance與類方法
- 22. Amazon Instance Network Out Spike(Attacked?)
- 23. Single Cron-Instance /互斥體
- 24. Kernel.Inject(instance);實際上呢?
- 25. jsPlumb.fire(「jsPlumbDemoLoaded」,instance);這是什麼?
- 26. 'The ObjectContext instance has been'in Razor's Html.Raw()
- 27. Scheduler :: instance()。clock()返回什麼?
- 28. ec2 public-hostname on instance reboot
- 29. ModelForm with Instance =會話ID
- 30. LiveSDK for iOS message to deallocated instance
請注意[PEP-8](http://www.python.org/dev/peps/pep-0008/#pet-peeves)建議不要在功能和括號之間放置空格:'print type (可變)'是首選的樣式。 –