类定义参数与普通类定义

4

这两者有什么区别?它们的功能不是一样的吗?我不明白object参数的整个意义。

class Car(object): # object parameter
    def foobar():
        print("Hello World!\n")  

对比。

class Car(): # No parameter
    def foobar():
        print("Hello World!\n")

1
第一个是新式类,而后者是旧式类。请参阅 https://dev59.com/-XVD5IYBdhLWcg3wNIrc?rq=1 - dustyrockpyle
2个回答

3
在Python 2中,前者是“新式类”,后者是“旧式类”,只是为了向后兼容而存在。您不应该在任何新项目中使用后者。
在Python 3中,我认为两者没有任何区别。您甚至可以完全省略括号。

那么,有没有技术上正确的方法来做这件事呢? - user1757703
@user1757703,如果您想要新式类,请始终使用(object)以保持向后兼容。 - glglgl

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接