Python 什么';声明'class A'和'class A()'之间的区别是什么?

Python 什么';声明'class A'和'class A()'之间的区别是什么?,python,python-3.x,class,Python,Python 3.x,Class,我们在python中定义类如下: class A: def x(self): print("In x") 但我刚刚输入了一个错误,它在linux cli中用python版本3.7成功执行。这是: class A(): def x(self): print("In x") 这意味着什么?您可以选择使用Python中的语法类Child(Parent):。在括号中不保留任何参数与不保留括号是一样的:您只需从基对象类继承,其他什么都不继承。例如: cl

我们在python中定义类如下:

class A:
    def x(self):
        print("In x")
但我刚刚输入了一个错误,它在linux cli中用python版本3.7成功执行。这是:

class A():
    def x(self):
        print("In x")
这意味着什么?

您可以选择使用Python中的语法
类Child(Parent):
。在括号中不保留任何参数与不保留括号是一样的:您只需从基
对象
类继承,其他什么都不继承。例如:

class A:
    pass

class B(object):
    pass

class C():
    pass

import inspect

inspect.getmro(A)
# (__main__.A, object)
inspect.getmro(B)
# (__main__.B, object)
inspect.getmro(C)
# (__main__.C, object)
都是同等的。作为反例:

class D(A):  # inherit from A
    pass

inspect.getmro(D)  # should include A now
# (__main__.D, __main__.A, object)

在Python2.x中会有所不同,但在python3中是相同的

长版本 A类(对象): 通过

与 类别A(): 通过

因为对象是类的默认输入

这只是上面的一个更短的版本 A类: 通过