python 类属性与实例属性

Posted 橘子飞飞

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 类属性与实例属性相关的知识,希望对你有一定的参考价值。

#__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);

以上是关于python 类属性与实例属性的主要内容,如果未能解决你的问题,请参考以下文章

Python:类属性,实例属性,私有属性与静态方法,类方法,实例方法

Python3 之 类属性与实例属性

python的类定义与实例化

Python学习(类属性与实例属性)

Python类与对象最全总结大全(类实例属性方法继承派生多态内建函数)

python中类对象实例对象类属性实例属性类方法实例方法静态方法