Python中的属性

       Python中的属性主要分为类属性,对象属性。

1.类属性

       类属性:类所有,所有的实例对象都能够共享,类定义时就直接指定的属性,能通过类名和实力对象名访问,当当前的类属性被实例对象通过对象名.属性名的形式调用之后,当前对象就会多出一个实例属性,此后使用对象名.属性名的形式调用的就是对象属性,因为对象名.属性名对象属性会屏蔽对象名.属性名类属性,所以会出现如下的代码结果。

class Texts:
    textNum1 = 1
    textNum2 = 1

    @classmethod
    def addnum(cls):
        Texts.textNum1 += 1
        Texts.textNum2 += 1


# 使用两个textNum判断是否只有被修改过的实例属性,不会受到类属性修改的影响
text1 = Texts()
text2 = Texts()
text1.textNum1 += 1
print(text1.textNum1, text2.textNum1)
print(text1.textNum2, text2.textNum2)

# 判断在类属性修改前的实例对象是否会收到影响
Texts.addnum()
Texts.addnum()
Texts.addnum()

text3 = Texts()
print(text1.textNum1, text2.textNum1, text3.textNum1)
print(text1.textNum2, text2.textNum2, text3.textNum2)
2 1
1 1
2 4 4
4 4 4

2.对象属性

       

posted @ 2024-06-17 12:44  薛定谔的AC  阅读(7)  评论(0编辑  收藏  举报