NameError: name 'Class' is not defined
NameError: name 'Class' is not defined
编译时出现此错误:
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()
我无法使用 class Reading
,我也不知道为什么。
Main
和 Reading
在同一个文件中,所以我认为我不需要 import
.
Python 源文件由解释器从上到下解释。
因此,当您在 class Main
中调用 Reading()
时,它还不存在。您需要交换声明以将 Reading
放在 Main
.
之前
您需要在Main
之前定义Reading
您需要在class Main
之前定义class Reading
。
class Reading:
def __init__(self):
pass
def openFile(self):
f = open('c:/Users/dvdpd/Desktop/Example.txt')
print(f.readline())
f.close()
class Main:
print("Welcome.\n\n")
test = Reading()
print(test.openFile())
前向声明在 Python 中不起作用。因此,仅当您创建 Main class 的对象时才会出现错误,如下所示:
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
编译时出现此错误:
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()
我无法使用 class Reading
,我也不知道为什么。
Main
和 Reading
在同一个文件中,所以我认为我不需要 import
.
Python 源文件由解释器从上到下解释。
因此,当您在 class Main
中调用 Reading()
时,它还不存在。您需要交换声明以将 Reading
放在 Main
.
您需要在Main
Reading
您需要在class Main
之前定义class Reading
。
class Reading:
def __init__(self):
pass
def openFile(self):
f = open('c:/Users/dvdpd/Desktop/Example.txt')
print(f.readline())
f.close()
class Main:
print("Welcome.\n\n")
test = Reading()
print(test.openFile())
前向声明在 Python 中不起作用。因此,仅当您创建 Main class 的对象时才会出现错误,如下所示:
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