当我编译时,我收到此错误:Traceback (most recent call last): File "c:/Users/dvdpd/Desktop/ProjectStage/Main.py", line 1, in <module> class Main: File "c:/Users/dvdpd/Desktop/ProjectStage/Main.py", line 6, in Main test = Reading()NameError: name 'Reading' is not defined代码:class Main: print("Welcome.\n\n") test = Reading() print(test.openFile)class Reading: def __init__(self): pass def openFile(self): f = open('c:/Users/dvdpd/Desktop/Example.txt') print(f.readline()) f.close()我不能使用这个类Reading,我不知道为什么。 Main并且Reading在同一个文件中,所以我认为我不需要import.
3 回答
呼唤远方
TA贡献1856条经验 获得超11个赞
Python 源文件由解释器从上到下解释。
所以,当你Reading()
在 class 内部调用时Main
,它还不存在。您需要交换声明放在Reading
before Main
。
繁花不似锦
TA贡献1851条经验 获得超4个赞
前向声明在 Python 中不起作用。因此,仅当您按如下方式创建 Main 类的对象时,您才会收到错误:
class Main:
def __init__(self):
print("Welcome.\n\n")
test = Reading()
print(test.openFile)
# Main() # This will NOT work
class Reading:
def __init__(self):
pass
def openFile(self):
f = open('c:/Users/dvdpd/Desktop/Example.txt')
print(f.readline())
f.close()
# Main() # This WILL work
添加回答
举报
0/150
提交
取消