我想从im2.py中调用im1.py的want_to_call()方法Test的类func1()和func1()将由im1的some_func()方法调用... 您的帮助将不胜感激。预先感谢
from im2 import Test
def some_func(value):
Test.func1()
print(value)
def want_to_call():
return 'called from im2'
some_func("ola")
from im1 import want_to_call
class Test:
def func1():
variable = want_to_call()
print(variable)
print('How do I call want_to_call method in im1')
class Test1:
def func():
print('Thanks in advance')
答案 0 :(得分:2)
不要那样做。
“仅导入模块”的建议有效(How to avoid circular imports in Python?)。 但是最好将函数放到按层次结构排列的更多文件中。 换句话说,打破循环。 这将对您的代码的组织有益, 和您的单元测试 以及您如何考虑您的高级问题。
这里,want_to_call()
和func1()
的定义属于im1和im2 import
的附加文件。
测试应取决于目标代码,而不是相反。