python知識小結1

1.python類中方法參數cls、self區別 

      類方法參數爲cls,指調用該方法的類對象本身;類方法參數爲self,指調用該方法的類實例對象;

2.類屬性和實例屬性

      類有類屬性,但沒有實例屬性,實例有實例屬性,但沒有類屬性。在類實例中查找屬性的時候,首先在實例自己的作用域中查找,如果沒有找到,則再在類定義的作用域中查找。在對類實例屬性進行賦值的時候,實際上會在類實例定義的作用域中添加一個屬性(如果還不存在的話),並不會影響到相應類中定義的同名屬性。

例:

#一段很簡單的代碼,但反應了很多
>>> class A():
    a=1
#一個類裏面有個屬性a 
>>> a=A()
>>> b=A()
>>> a.a
1
>>> b.a
1
>>> A.a
1
#這個屬性能被實例和類訪問
>>> a.a=2
>>> b.a
1
>>> A.a
1
#改變實例a的屬性a,實例b和類的a並沒有改變
>>> A.a=2
>>> b.a
2
#改變類的屬性,實例的屬性隨着改變,這就好像遺傳一樣,一個物種分化爲兩個不同的物種A,B,隨便A物種怎麼變,對B不會產生影響,但如果穿越時空,改變了它們祖先的一些特點,那麼,A,B都會隨着改變

    

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章