I try to learn classes, and something holds them back, I get
"NameError: global name 'self' is not defined"
the same thing happens with every field in the class. you can help me find what I'm doing wrong, thanks
code:
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()
source share