【问题标题】:Class definition parameter vs. Normal class definition [duplicate]类定义参数与普通类定义[重复]
【发布时间】:2014-08-18 05:12:07
【问题描述】:

两者有什么区别?这两个不是有相同的功能吗?我不明白object 参数的全部意义。

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

对比

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

【问题讨论】:

标签: python class


【解决方案1】:

两个字:

# new style
class Car(object):
    pass

“新班级”是在现代创建班级的推荐方式 蟒蛇。

# classic style
class Car():
    pass

“Classic Class”或“old-style class”是存在于 Python 2.1 及之前版本。它们已向后保留 兼容性。此页面试图列出差异。

请看:

【讨论】:

    【解决方案2】:

    在 Python 2 中,前者是“新式类”,而后者是“旧式类”,只是为了向后兼容而存在。你永远不应该将后者用于任何新事物。

    在 Python 3 中,我相信完全没有区别。您甚至可以完全省略括号。

    【讨论】:

    • 那么有没有技术上正确的方法呢?
    • @user1757703 因为您可能想要新样式的类,如果您想保持向后兼容,请始终使用(object)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-05
    • 2011-07-12
    • 1970-01-01
    • 2013-10-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多