[英]python returns nameError for class name not being defined
我正在尝试编写一个程序,该程序从另一个名为 student 的 python 文件中调用一个已建立的类。 在文件 student 中,建立了一个名为 StudentInfo 的类, init检查数据是否有效(例如,成绩必须在 9-12 之间,课程代码必须符合格式等)我试图首先在此处获取用户的输入。
import student
import transcript
def add_student(data):
dataDict = data
ID = str(len(dataDict) + 1)
student = StudentInfo(ID, input("Enter the student\'s last name: "), input("Enter the student\'s first name: "), input("Enter the student\'s grade: "), transcript.add_transcript(), input("Is the student registered: "))
return dataDict
当我尝试将学生定义为 StudentInfo 类的对象时,它返回NameError: name 'StudentInfo' is not defined.
我不确定我做错了什么。 我认为这可能是输入,但是当我删除它们时,它似乎做了同样的事情。 请帮助并提前致谢。
如果您使用import student
则需要student.StudentInfo
。
或者,您可以导入为:
from student import StudentInfo
使用您现在拥有的代码。
看来您忘了在StudentInfo
加上student
。 您可以替换:
import student
和:
from student import StudentInfo
或者你可以替换:
student = StudentInfo(ID, input("Enter the student\'s last name: "), input("Enter the student\'s first name: "), input("Enter the student\'s grade: "), transcript.add_transcript(), input("Is the student registered: "))
和:
student = student.StudentInfo(ID, input("Enter the student\'s last name: "), input("Enter the student\'s first name: "), input("Enter the student\'s grade: "), transcript.add_transcript(), input("Is the student registered: "))
附带说明:您不应该在导入后命名变量。 将变量student
重命名为其他名称。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.