繁体   English   中英

python返回未定义类名的nameError

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM