以下两个类有什么区别?你有关于这个案子的一些相关信息吗?非常感谢你。
class test(object):
def __init__(self, name):
print name
class test():
def __init__(self, name):
print name
答案 0 :(得分:4)
在python 2.x中,继承自object
的类将是一个新式类,而另一个则不会,而在python 3.x中将同时存在新式。< / p>
但是,新旧之间的差异相当高级(例如,属性搜索顺序),因此初学者不应过于关注不兼容性。
如果您感兴趣,请参阅this答案以获取更多信息,但对于图书馆开发人员来说,这是相当的事情。
答案 1 :(得分:4)
嗯...这个维基页面非常具有说明性地解释了这些差异:http://wiki.python.org/moin/NewClassVsClassicClass
我看到一些回复的信息,旧的(经典的)-Style和New-Style类在py3中是相同的 - &gt;这不正确:
在Python 3中删除旧样式 ,只留下新式类的语义
除此之外,自Python 2.2以来, New-Style类已经完全可用了。最多2.1我们必须使用经典样式-> see here
有关差异/信息的简短摘要可能是:
type()
内置的行为)但是在大多数情况下,新的类的引入在python的 Descriptors --> read more here的组合中受到影响。
答案 2 :(得分:-3)
在这种情况下,没有,因为第一个显式地从对象继承为基类,而第二个隐式地从对象继承。