使用 class 时未解析的引用

Unresolved reference when using class

我的代码有问题。我目前正在学习 Python,我们必须创建一个 class 学生,它需要取名、编号、中等。学生的年级和期末成绩。然后我们需要定义一个方法来显示学生的平均成绩。

class Student:

    def __init__(self, name, num, mid, fin):
        self.name = name
        self.num = num
        self.mid = mid
        self.finale = fin

    def ave_stu(self):
        print((self.mid + self.fin)/2)

要添加学生,我随后在同一页面中使用了这个:

if __name__ == '__main__':

    stu1 = Student(Yann, 1, 67, 98)
    stu2 = Student(Bob, 2, 42, 12)

我写 "Yann" 和 "Bob" 的地方,PyCharm 告诉我我有一个未解决的参考。然后,当我 运行 代码时,我收到 NameError: name 'Yann' is not defined。 我试着只使用一个数字,但它奏效了。然后我试着把 str(Yann) 认为是类型错误,但还是不行。 所以这是我的问题,这是类型错误,还是我只是想在我的 class 中传递一些东西 "illegal" ? 谢谢!

字符串文字必须用引号引起来。

stu1 = Student("Yann", 1, 67, 98)
stu2 = Student("Bob", 2, 42, 12)

你的问题是它认为你在调用 对象 Yann 和 Bob,而实际上你认为它们是字符串。

试试这个:

stu1 = Student("Yann", 1, 67,98)
stu2 = Student("Bob", 2, 42, 12)