class
animal
(object):
# 類物件
age =
0# 公有類屬性
__like =
none
# 私有類屬性
def__init__
(self)
:# 魔法方法
self.name =
'haha'
# 公有例項屬性
self.__*** =
'man'
# 私有例項屬性
defsmile
(self)
:# 公有方法 self指向例項物件
pass
def__jump
(self)
:# 私有方法
pass
@classmethod
defrun
(cls)
:# 類方法 cls 指向類物件
pass
@staticmethod
defmsg()
:# 靜態方法,可以沒有引數
pass
'''# 類物件:
將具有相似屬性和方法的物件總結抽象為類物件,可以定義相似的一些屬性和方法,不同的例項物件去引用類物件的屬性和方法,能減少**的重複率。
# 類屬性:
類物件所有的屬性,類物件和例項物件均可以訪問,被它們共同擁有;
# 公有類屬性:
可以在類外修改類屬性,需要通過類物件引用直接修改;
類內可以通過類方法修改類屬性。
如果通過例項物件來引用類屬性,相當於例項物件在例項方法中建立了乙個和類屬性相同的名字,等同於區域性變數例項屬性,和類屬性無關;
# 私有類屬性:
類外通過類物件引用不能直接更改,只能通過例項方法呼叫類物件更改。
# 類方法:
需要修飾器@classmethod,標示其為類方法,類方法的第乙個引數必須為類物件,一般用cls表示,通過cls引用的必須是類屬性和類方法。
# 靜態方法:
需要修飾器@staticmethod,標示其為靜態方法。需要做一些功能,和類相關,但不需要類和物件參與,此時可以使用靜態方法,靜態方法可以不需要引數。
# 例項物件:
通過類物件建立的例項物件
# 例項屬性:
通過方法定義的屬性
# 私有例項屬性:
__開頭定義的變數名;只能通過方法呼叫來更改
公有例項屬性:
可以通過例項物件重新定義
# 例項方法:
第乙個引數公認為self,可以呼叫類物件和例項物件。
# 私有方法:
只能在類內呼叫,如果類外呼叫,則需要類內的公有方法呼叫類內的私有方法,在類外呼叫這個公有方法,則間接呼叫了私有方法。
乙個程式中最核心的內容,不能隨意呼叫,可以設定為私有方法,通過公有方法的判斷去呼叫私有方法!
# 公有方法:
可以在類內類外隨意呼叫。
# 魔法方法:
例如__init__方法,用兩個__前後包裹的方法
'''
python類物件和例項物件
類物件支援兩種操作 屬性引用和例項化。屬性引用 使用 python 中所有屬性引用所使用的標準語法 obj.name。有效的屬性名稱是類物件被建立時存在於類命名空間中的所有名稱。因此,如果類定義是這樣的 a example class i 12345 def f self return hello ...
python 類,物件 例項
簡單示例 類方法 python 類方法和例項方法相似,它最少也要包含乙個引數,只不過,類方法中通常將其命名為 cls,且 python 會自動將類本身繫結給 cls 引數 而不是類物件 因此,在呼叫類方法時,無需顯式為 cls 引數傳參。類靜態方法 靜態方法,其實就是我們學過的函式,和函式唯一的區別...
理解Python中的類物件 例項物件 屬性 方法
class animal object 類物件 age 0 公有類屬性 like none 私有類屬性 def init self 魔法方法 self.name haha 公有例項屬性 self.man 私有例項屬性 def smile self 公有方法 self指向例項物件 pass def j...