有两个类分别位于不用两个不同的.py文件:class A和class B。在class A中,我想调用class B中的方法。同时,在class B中,我想调用class A中的一个方法。
时间: 2024-01-21 22:20:13 浏览: 14
这种情况下,你需要在class A中实例化class B对象,并将其作为参数传递给class A中需要调用的方法。同样,在class B中也需要实例化class A对象,并将其作为参数传递给需要调用的方法。
以下是一个示例代码:
```
# file1.py
class A:
def __init__(self, b_obj):
self.b_obj = b_obj
def method_a(self):
print("Method A called")
self.b_obj.method_b()
# file2.py
class B:
def __init__(self, a_obj):
self.a_obj = a_obj
def method_b(self):
print("Method B called")
self.a_obj.method_a()
```
在这个示例中,class A需要调用class B中的方法method_b(),因此在class A的构造函数中将class B对象b_obj作为参数传递进来。在method_a()中,我们首先调用自身的方法,然后通过b_obj调用class B中的方法method_b()。
同样的,class B需要调用class A中的方法method_a(),因此在class B的构造函数中将class A对象a_obj作为参数传递进来。在method_b()中,我们首先调用自身的方法,然后通过a_obj调用class A中的方法method_a()。
请注意,为了使这个示例代码正常工作,你需要将这两个类定义在两个不同的.py文件中,并在需要使用它们的.py文件中使用以下代码导入它们:
```
from file1 import A
from file2 import B
```