2015-03-12 3 views
-2

У меня проблема с моим кодом. В настоящее время я изучаю Python, и нам нужно создать класс Student, которому нужно взять имя, номер, середина. класс и окончательный класс ученика. Затем нам нужно определить метод, показывающий средний класс, который получил студент.Неразрешенные ссылки при использовании класса

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» и «Боб», PyCharm говорит мне, что у меня есть нераскрытое ссылки. Затем, когда я запускаю код, я получил NameError: имя «Yann» не определено. Я попытался использовать только число вместо этого, и это сработало. Затем я попытался поместить str (Yann), считая, что это ошибка типа, и это все еще не сработало. Итак, вот мой вопрос, это ошибка типа, или я просто пытаюсь передать что-то «незаконное» в моем классе? Спасибо!

+0

Это на самом деле не специфичны для классов. Если вы попробовали 'someFunction (Yann)', вы получили бы ту же ошибку. – Kevin

ответ

3

Ваш вопрос он думает, что вы звоните в объектов Yann и Боб, когда на самом деле вы Мент, что они были строками.

Попробуйте это:

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

Это была ошибка новобранец. Спасибо большое! –

+0

Это случается. и мое удовольствие^_ ^ –

2

Строковые литералы должны быть в кавычках.

stu1 = Student("Yann", 1, 67, 98) 
stu2 = Student("Bob", 2, 42, 12) 
Смежные вопросы