实例方法调用
在类A中创建类B的实例,并在类A的方法中通过这个实例调用类B的方法。
class B:def method_b(self):print("This is method B")class A:def __init__(self):self.b = B()def method_a(self):print("This is method A")self.b.method_b() 调用类B的方法a = A()a.method_a() 调用A类的方法
类方法调用
在类A中创建类B的类对象,并在类A的方法中通过这个类对象调用类B的类方法。
class B:@classmethoddef class_method_b(cls):print("This is class method B")class A:@classmethoddef class_method_a(cls):print("This is class method A")B.class_method_b() 调用类B的类方法A.class_method_a() 调用类A的类方法
组合
在类A中实例化类B的对象,并在类A的方法中使用这个对象。
class B:def method_b(self):print("This is method B")class A:def __init__(self):self.b = B()def method_a(self):print("This is method A")self.b.method_b() 使用类B的对象调用方法a = A()a.method_a() 调用A类的方法
继承
如果类B继承自类A,则可以直接在类B中调用类A的方法。
class A:def method_a(self):print("This is method A from parent class A")class B(A):def method_b(self):print("This is method B from child class B")super().method_a() 调用父类A的方法b = B()b.method_b() 调用类B的方法,该方法调用了类A
直接调用
如果两个类位于同一个模块中,可以直接通过类名调用另一个类的方法。
class A:def method_a(self):print("This is method A from class A")class B:def method_b(self):print("This is method B from class B")A.method_a() 直接调用类A的方法B.method_b() 直接调用类B的方法
以上是Python中类之间相互调用的几种常见方式。您可以根据具体需求选择合适的方法

