理解Python中的類物件 例項物件 屬性 方法

2021-09-23 22:00:20 字數 1407 閱讀 8696

class animal(object):  # 類物件

age = 0 # 公有類屬性

__like = none # 私有類屬性

def __init__(self): # 魔法方法

self.name = 'haha' # 公有例項屬性

self.__*** = 'man' # 私有例項屬性

def smile(self): # 公有方法 self指向例項物件

pass

def __jump(self): # 私有方法

pass

@classmethod

def run(cls): # 類方法 cls 指向類物件

pass

@staticmethod

def msg(): # 靜態方法,可以沒有引數

pass

'''# 類物件:

將具有相似屬性和方法的物件總結抽象為類物件,可以定義相似的一些屬性和方法,不同的例項物件去引用類物件的屬性和方法,能減少**的重複率。

# 類屬性:

類物件所有的屬性,類物件和例項物件均可以訪問,被它們共同擁有;

# 公有類屬性:

可以在類外修改類屬性,需要通過類物件引用直接修改;

類內可以通過類方法修改類屬性。

如果通過例項物件來引用類屬性,相當於例項物件在例項方法中建立了乙個和類屬性相同的名字,等同於區域性變數例項屬性,和類屬性無關;

# 私有類屬性:

類外通過類物件引用不能直接更改,只能通過例項方法呼叫類物件更改。

# 類方法:

需要修飾器@classmethod,標示其為類方法,類方法的第乙個引數必須為類物件,一般用cls表示,通過cls引用的必須是類屬性和類方法。

# 靜態方法:

需要修飾器@staticmethod,標示其為靜態方法。需要做一些功能,和類相關,但不需要類和物件參與,此時可以使用靜態方法,靜態方法可以不需要引數。

# 例項物件:

通過類物件建立的例項物件

# 例項屬性:

通過方法定義的屬性

# 私有例項屬性:

__開頭定義的變數名;只能通過方法呼叫來更改

公有例項屬性:

可以通過例項物件重新定義

# 例項方法:

第乙個引數公認為self,可以呼叫類物件和例項物件。

# 私有方法:

只能在類內呼叫,如果類外呼叫,則需要類內的公有方法呼叫類內的私有方法,在類外呼叫這個公有方法,則間接呼叫了私有方法。

乙個程式中最核心的內容,不能隨意呼叫,可以設定為私有方法,通過公有方法的判斷去呼叫私有方法!

# 公有方法:

可以在類內類外隨意呼叫。

# 魔法方法:

例如__init__方法,用兩個__前後包裹的方法

理解Python中的類物件 例項物件 屬性 方法

class animal object 類物件 age 0 公有類屬性 like none 私有類屬性 def init self 魔法方法 self.name haha 公有例項屬性 self.man 私有例項屬性 def smile self 公有方法 self指向例項物件 pass def j...

Python中的類物件 例項物件 屬性 方法

class animal object 類物件 age 0 公有類屬性 like none 私有類屬性 def init self 魔法方法 self.name haha 公有例項屬性 self.man 私有例項屬性 defsmile self 公有方法 self指向例項物件 pass def ju...

python 類,物件 例項

簡單示例 類方法 python 類方法和例項方法相似,它最少也要包含乙個引數,只不過,類方法中通常將其命名為 cls,且 python 會自動將類本身繫結給 cls 引數 而不是類物件 因此,在呼叫類方法時,無需顯式為 cls 引數傳參。類靜態方法 靜態方法,其實就是我們學過的函式,和函式唯一的區別...