Python中的屬性

薛定谔的AC發表於2024-06-17

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.物件屬性

相關文章