python中类属性和实例属性的区别

类属性和实例属性主要区别:作用域不同

一,类没有实例属性
二,实例拥有类属性,不能改变类属性,实例可以改变实例属性

# 类属性和实例属性
class Student:
    count = 10  # count是类属性

    def __init__(self, name):
        self.name = name  # name是实例属性


print(Student.count)  # 10 通过类来访问类属性
# print(Student.name)                         # 报错:AttributeError: type object 'Student' has no attribute 'name'

s1 = Student("xiaoming")
print(s1.name)  # xiaoming 必须通过实例来访问实例属性name
print(s1.count)  # 10 实例也可以访问类属性

 

 
posted @ 2021-05-19 14:47  年轻人——001  阅读(1391)  评论(0编辑  收藏  举报