为什么每次创建Student类的新实例时,我的“count”变量都不会递增?

时间:2016-01-15 12:11:47

标签: python oop

为什么每次创建Student类的新实例时,我的“count”变量都不会递增?

class Student():
    def __init__(self,sNam,sADD):
        global count  

        count = 1

        self.studentName = sNam
        self.studentAddress = sADD
        self.studentID = count

        count = count + 1


        print"Student",self.studentID ,"name is:",self.studentName
        print "Student",self.studentID ,"address is:",self.studentAddress

4 个答案:

答案 0 :(得分:4)

由于这一行:

count = 1

每次创建Student类的新实例时,都会将计数重置为1。

答案 1 :(得分:1)

请格式化您的代码。

截至目前,你可能一直都会'2'?

每次创建实例时都会设置count = 1,然后设置一些字段并增加count = count+1

请将count = 1移到您的班级声明之上,然后重试。

答案 2 :(得分:0)

这应该有效:

count = 0

class Student():

def __init__(self,sNam,sADD):
    global count

    count +=1

    self.studentName = sNam
    self.studentAddress = sADD
    self.studentID = count




    print"Student",self.studentID ,"name is:",self.studentName
    print "Student",self.studentID ,"address is:",self.studentAddress


a = Student('John','Diggle')

b = Student('Mia','Kunis')

答案 3 :(得分:0)

我认为我陷入了将所有代码包含在类本身而不是外部的思维模式,因为我总是使用Student()创建对象。