Python'对象'类型和继承

Nat*_*ate 4 python inheritance object

在Python中,我可以通过以下方式定义类'foo':

class foo:
    pass
Run Code Online (Sandbox Code Playgroud)

要么

class foo(object):
    pass
Run Code Online (Sandbox Code Playgroud)

有什么不同?我试图使用函数issubclass(foo,object)来查看它是否为两个类定义返回True.它不是.

IDLE 2.6.3      
>>> class foo:
        pass

>>> issubclass(foo, object)
False
>>> class foo(object):
        pass

>>> issubclass(foo, object)
True

谢谢.

ste*_*eha 9

继承object使一个类成为"新式类".这里讨论了旧式和新式:Python中的旧样式和新样式类有什么区别?

正如@CrazyJugglerDrummer在下面评论的那样,在Python 3中,所有类都是"新式"类.在Python 3中,以下两个声明完全等效:

class A(object):
    pass

class A:
    pass
Run Code Online (Sandbox Code Playgroud)