【发布时间】:2012-04-20 02:23:39
【问题描述】:
有什么区别:
class ClassName(object):
pass
和
class ClassName:
pass
当我调用这些类的模块的帮助函数时,您可以阅读____builtin____.object 的第一个案例,就在帮助的类标题下。对于第二种情况,它只显示类名。这些类和/或其可能的方法之间是否存在任何功能差异?
(我知道class Classname(ParentClassName)有函数用途)
【问题讨论】:
-
第一个是newstyle类,另一个是oldstyle类。您可能想查看this SO answer 以了解两者之间的区别。
-
只是添加到它,虽然你不需要在 python3 中做
class ClassName(object):我认为你仍然应该这样做。它更清晰 -
我查过了。我不明白其他线程中指出的所有差异。但在这些线程中,大多数人似乎建议使用新样式。奇怪的是python2.7标准库的模块类只使用了旧样式。 (检查模块
timeit的类Timer例如)