python 添加类属性
生活随笔
收集整理的這篇文章主要介紹了
python 添加类属性
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
類屬性必須賦值。 創建類屬性
類是模板,而實例則是根據類創建的對象。綁定在一個實例上的屬性不會影響其他實例,但是,類本身也是一個對象,如果在類上綁定一個屬性,則所有實例都可以訪問類的屬性,并且,所有實例訪問的類屬性都是同一個!也就是說,實例屬性每個實例各自擁有,互相獨立,而類屬性有且只有一份。定義類屬性可以直接在 class 中定義:class Person(object):address = 'Earth'def __init__(self, name):self.name = name
因為類屬性是直接綁定在類上的,所以,訪問類屬性不需要創建實例,就可以直接訪問:print Person.address
# => Earth
對一個實例調用類的屬性也是可以訪問的,所有實例都可以訪問到它所屬的類的屬性:p1 = Person('Bob')
p2 = Person('Alice')
print p1.address
# => Earth
print p2.address
# => Earth
由于Python是動態語言,類屬性也是可以動態添加和修改的:Person.address = 'China'
print p1.address
# => 'China'
print p2.address
# => 'China'
因為類屬性只有一份,所以,當Person類的address改變時,所有實例訪問到的類屬性都改變了。任務
請給 Person 類添加一個類屬性 count,每創建一個實例,count 屬性就加 1,這樣就可以統計出一共創建了多少個 Person 的實例。?不會了怎么辦
由于創建實例必定會調用__init__()方法,所以在這里修改類屬性 count 很合適。參考代碼:class Person(object):count = 0def __init__(self, name):Person.count = Person.count + 1self.name = name
p1 = Person('Bob')
print Person.count
# => 1
p2 = Person('Alice')
print Person.count
# => 2
p3 = Person('Tim')
print Person.count
# => 3
?
轉載于:https://www.cnblogs.com/superxuezhazha/p/5726029.html
總結
以上是生活随笔為你收集整理的python 添加类属性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JVM crash at ForUtil
- 下一篇: Erdaicms旅游网站系统微信和手机端