NameError:全局名称'self'未定义-Classes

Bog*_*ier 4 python class

我正在努力学习课程,有些东西让我们回来了,我明白了

"NameError: global name 'self' is not defined"
Run Code Online (Sandbox Code Playgroud)

每个类字段都会发生同样的情况.你能帮我找到我做错了什么,谢谢你

码:

class Assignment:
    def __init__(self, name, discription, deadline, grade, studentID):
        self.name = name
        self.studentID = studentID
        self.description = discription
        self.deadline = deadline
        self.grade = grade

    def __str__(self):
        return "studentID:" + self.studentID + "assignment name:" + self.name +" description:" + self.description + " deadline:" + self.deadline + " grade:" + self.grade

    def validation(self):
        errors= []
        if self.studendID == "":
            errors.append("No existing student ID.")  
        if self.description == "":
            errors.append("No existing description.")
        if self.deadline == "":
            errors.append("No existing deadline.")      
        if self.deadline == "":
            errors.append("No existing deadline.")    
        return errors

    @staticmethod
    def dummyAssignments():
        ret = []
        for studentID in range(100, 121):
            print "sda"
            a = Assignment(self, name, discription, deadline, grade, studentID)
            ret.append(a)            
        return ret   

def testAssigment():
    a = Assignment("","","","","")
    print a



testAssigment()   
print Assignment.dummyAssignments()
Run Code Online (Sandbox Code Playgroud)

sen*_*rle 6

问题出在这里:

a = Assignment(self, name, discription, deadline, grade, studentID)
Run Code Online (Sandbox Code Playgroud)

这是一个@staticmethod,所以self没有定义.

事实上,这些价值观都没有被定义,而是想到它 - 除了studentID.