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.对象属性
标签:Python,textNum1,textNum2,Texts,text1,对象,属性 From: https://www.cnblogs.com/againss/p/18252161