Q
蟒類定義
2
A
回答
6
4
第一個是新風格類,第二個是舊風格類。
編輯
In [1]: class A:
...: pass
...:
In [2]: class B(object):
...: pass
...:
In [3]: a = A()
In [4]: b = B()
In [5]: dir(a)
Out[5]: ['__doc__', '__module__']
In [6]: dir(b)
Out[6]:
['__class__',
'__delattr__',
'__dict__',
'__doc__',
'__format__',
'__getattribute__',
'__hash__',
'__init__',
'__module__',
'__new__',
'__reduce__',
'__reduce_ex__',
'__repr__',
'__setattr__',
'__sizeof__',
'__str__',
'__subclasshook__',
'__weakref__']
+1
從對象繼承是否將任何繼承的屬性帶給類my_class? – 2011-03-10 14:30:24
+1
似乎是這樣。檢查我的編輯。 – gruszczy 2011-03-10 14:38:32
3
對於Python 3.x的,沒有任何區別。在Python 2.x中,派生自object
使得類new-style,而提供沒有基類會給你一箇舊式的類。
3
對於Python 2.x中的new-style類,您需要必須明確從object
繼承。沒有聲明從object
繼承的類給你一箇舊式的類。在Python 3.x中,不再需要顯式繼承object
,因此您可以使用Python 2.x舊式類語法class Klass: pass
在Python 3.x中聲明並取回新樣式(或僅僅是一個類)類。
2
這是「新」的風格,和你的問題是類似 Python class inherits object
相關問題
- 1. 定義類蟒蛇
- 2. 蟒蛇 - 類 - AttributeErr - 但方法定義
- 3. 蟒燒瓶類定義語法
- 4. 在類中嵌套自定義異常類? (蟒蛇)
- 5. 蟒蛇定義與裝飾
- 6. 定義/算法,蟒蛇
- 7. 蟒「__file__」沒有定義
- 8. 升壓蟒返回的元組包含自定義類型
- 9. boost_python與來自水蟒蟒3.5 - (少數)未定義的引用
- 10. 歧義蟒蛇
- 11. 蟒蛇定義狀態對象
- 12. 蟒蛇裝飾失去參數定義
- 13. 蟒 - 在預先定義的點
- 14. 蟒蛇功能重新定義
- 15. 蟒蛇RegOpenKeyEx()HKEY_LOCAL_MACHINE沒有定義錯誤
- 16. 進口自定義模塊蟒蛇
- 17. NameError:名字「process_or_store」沒有定義,蟒蛇
- 18. 刪除定義字符串 - 蟒蛇
- 19. 蟒蛇scrapy get_attribute沒有定義
- 20. NameError定義蟒蛇多級封裝
- 21. _Base沒有定義 - 蟒蛇瓶
- 22. 用戶定義的例外 - 蟒蛇
- 23. 按鈕沒有定義,蟒蛇3
- 24. python類定義Vs C++類定義
- 25. 含義類定義
- 26. 蟒類錯誤
- 27. 蟒蛇 - 一類
- 28. 定義類
- 29. C#類定義
- 30. 定義基類
http://stackoverflow.com/questions/332255/difference-between-class-foo-and-class-fooobject-in -python – 2011-03-10 14:30:13
在舊版本的Python中,後者是語法錯誤。 – 2011-03-10 14:30:37