學習筆記,僅供參考,有錯必糾
學習資源:**python
類屬性指的是類物件所繫結的屬性。
繫結類屬性(給類物件繫結屬性)的方式有兩種:
在類物件的外部
訪問類屬性的方式有兩種:
在類物件的外部
舉個例子
**:
class
myclass
(object):
ca1 =
18def
do_sth
(self)
:print
(myclass.ca1)
defdo_another
(self)
:print
(myclass.ca2)
mc = myclass(
)mc.do_sth(
)print
(myclass.ca1)
print
(mc.ca1)
myclass.ca2 =
56print
(myclass.ca2)
print
(mc.ca2)
myclass.ca2 =
73print
(myclass.ca2)
print
(mc.ca2)
mc.do_another(
)
輸出:
18
1818
5656
7373
73
訪問例項屬性和類屬性都可以通過例項物件.屬性名
的方式。
當通過例項物件.屬性名
的方式訪問屬性時,會先查詢指定的例項物件中有沒有指定名稱的例項屬性,如果沒有,再查詢對應的類物件中有沒有指定名稱的類屬性。
所以,當通過例項物件.屬性名
的方式訪問屬性時,如果例項屬性和類屬性同名,例項屬性會遮蔽掉類屬性。
當通過例項物件.屬性名 = 屬性值
的方式繫結屬性時,這裡的屬性只表示例項屬性(因為類屬性沒有這樣的繫結方式),所以,只會查詢指定的例項物件有沒有繫結指定名稱的例項屬性,如果沒有則進行繫結,如果已經繫結了,則對屬性值進行修改。
舉個例子
**:
class
person
(object):
age =
18p = person(
)print
(p.age)
print
(person.age)
p.age =
19print
(p.age)
print
(person.age)
del p.age
print
(p.age)
p1 = person(
)p2 = person(
)p1.age +=
2print
(person.age)
print
(p1.age)
print
(p2.age)
person.age +=
3print
(person.age)
print
(p1.age)
print
(p2.age)
結果:
18
1819
1818
1820
1821
2021
Python學習之Part16 裝飾器高階
應用場景 在使用裝飾器對原函式進行裝飾後,可以控制裝飾器什麼生效,什麼時候不生效 即在想使用原函式時,不需要對語法糖進行注釋,或者刪除裝飾器 以下使用乙個例子進行說明 import time 定義flag標誌位,當為真的時候,裝飾器生效,否則裝飾器不生效 falg false deftimmer o...
python練習 高階篇)
1 求1 2 3 4 5 99的和 count 1 s1 0 s2 0 while count 100 if count 2 0 s1 count else s2 count count 1 s s1 s2 print s 2 用python編寫程式,輸入一年份,判斷該年份是否是閏年並輸出結果 注 ...
Lua學習高階篇
之前已經說了很多,我目前的觀點還是那樣,在嵌入式指令碼中,lua是最優秀 最高效的,如果您有不同的觀點,歡迎指正並討論,切勿吐槽。這個系列完全來自於 programming in lua 您可以將其視為本人的讀書筆記。相比而言,如果您已經掌握了lua,但仍然不是非常熟練,請相信這個系列一定會給您的查...