#__author__ = ‘juzi_juzi‘ #类属性与实例属性 #1、无法通过类访问实例属性; #2、类属性归类所所有,但是所有实例都可访问; #3、如果存在相同名称的类属性与实例属性,实例访问的时候会优先使用实例属性,实例找不到该属性再找类属性: #4、实例修改了类属性值,但原类属性对应的值仍存在; class Test(): count = 3 # count 为类属性; def __init__(self,name,age): self.name = name #name ,age 为实例属性; self.age = age # print(Test.name) #1、无法通过类访问实例属性,AttributeError: type object ‘Test‘ has no attribute ‘name‘ t = Test(‘zhangsan‘,16) print(t.count) #2、实例属性可访问类属性; t.count = 1 # 用实例绑定count 属性; print(t.count) #1 打印出实例绑定的时候设置的值; print(Test.count) #3 实例虽然绑定了属性count ,但类的count 属性并未消失; Test.count=4 t1 = Test(‘lisi‘,‘‘) print(t1.name) #新的实例的属性值为新设定的值,与其余的实例没有关系; print(t1.count) # 新的实例的count 属性不存在,所以会去寻找类属性的,类属性的值存在,所以取类属性的值; print(Test.count) #4 这里的4 是因为上面的类属性修改所导致(Test.count=4);
原文地址:https://www.cnblogs.com/juzib/p/12072014.html
时间: 2024-07-29 11:10:40