从其他python文件和后续类使用python函数?
我一直在学习使用C++中的OOP学习python中的类。 我正在研究一个项目,我在一个文件中定义了一个类,并且在单独文件的类中使用了一个重要函数。 我必须在第一个文件中调用这个类,但是我得到了ImportError。 太棒了,如果你能帮到你。从其他python文件和后续类使用python函数?
try1.py
from try2 import prnt class a:
def __init__(self):
print("started")
def func1(self):
print("func1")
prnt()
try2.py
from try1 import a b = a()
b.func1()
def prnt():
b.func()
至于例如,在上面的例子中,当我运行try1.py,我得到一个ImportError:不能导入名称'PRNT'。
回答:
你绝对需要重新设计你的项目。即使你做设法逃脱循环进口(通过移动import
的功能IE里面 - 但不做),你仍然会得到一个NameError: name 'b' is not defined
因为b
在prnt
没有定义。
除非prnt
不能a
类中定义(为什么?),可以考虑在第三界定prnt
,“utils的”文件,并在这两个try1.py
和try2.py
导入并传递一个对象到它,所以它可以访问所有的其属性。
回答:
只要运行你的代码,阅读错误,并从中扣除一些东西。 当你运行它,这里是错误消息:
Traceback (most recent call last): File "C:\Users\Kilian\Desktop\Code\Garbage\tmp.py", line 7, in <module>
from temp2 import prnt
File "C:\Users\Kilian\Desktop\Code\Garbage\temp2.py", line 1, in <module>
from tmp import a
File "C:\Users\Kilian\Desktop\Code\Garbage\tmp.py", line 7, in <module>
from temp2 import prnt
ImportError: cannot import name prnt
您的脚本试图导入东西它已经试图导入早些时候。 Python可能会推断它不能导入它。 :)
以上是 从其他python文件和后续类使用python函数? 的全部内容, 来源链接: utcz.com/qa/264291.html