不想秃的医学僧 发表于 2022-1-25 13:39:00

关于类属性与实例属性的问题

请问第八行 Student.count = Student.count + 1 是什么意思。实例属性调用类属性吗?


class Student:
    company = 'xx MedicalCollge'
    count = 0                              #类属性

    def __init__(self,name,score):
      self.name = name
      self.score = score                   #实例属性
      Student.count = Student.count + 1   

    def say_score(self):                  
      print('我的学校是:',Student.company)
      print(self.name,'的分数是:',self.score)

a1 = Student('张三',90)
a1.say_score()
print('共创建{0}个对象'.format(Student.count))

阿奇_o 发表于 2022-1-25 14:03:26

当你Student('张三',90)时,就是你构造和初始化__init__一个学生实例对象出来的是时候。你这里是调用 "类属性"count,累加1。

就好比,新生报到一个,这个学校就多一个新学生(个体实例)。这个学校的学生总数(类变量)就是 count 。通常就用 类名.类属性 这样调用,如 Student.count

不想秃的医学僧 发表于 2022-1-25 15:34:28

阿奇_o 发表于 2022-1-25 14:03
当你Student('张三',90)时,就是你构造和初始化__init__一个学生实例对象出来的是时候。你这里是调用 "类属 ...

明白了,谢谢
页: [1]
查看完整版本: 关于类属性与实例属性的问题