您具有以下 class 层次结构

You have the following class hierarchy

class A(object): 
    def foo(self): 
        print 'hi'
class B(A): 
    def foo(self): 
        print 'bye'  

以下哪些说法是正确的?

  1. a = A()我们说a是A的一个实例
  2. b = B()我们说b是A的子类
  3. 以上两者
  4. 以上都不是

我认为答案是B

classB继承classA.

所以 class B 是 A 的子class。

但是当你实例化A时,a = A(),a确实是A的一个实例。

现在,我不确定措辞,因为 b = B() 是 B 的实例...它是 A 的子class...但是实例是不是 class 或 subclass。 它是 A 的一个实例...因为 B 通过继承是 A 的子代。

所以总而言之,当您实例化一个对象时,它是 class 的 instance 以及所有 classes 父对象。但是对象不是 class.