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