Python筆記 類的定義

2021-08-08 10:57:42 字數 2488 閱讀 2873

物件導向程式設計

類 繼承:多繼承

類中所有的__開頭的方法都是內建的來自於父類

定義類的語法

class類名(父類….)

#定義變數和方法

方法:

例項方法:只能通過例項呼叫,例項方法第乙個引數只能例項本身的引用

類方法:定義類方法要使用裝飾器@classmethod,定義的第乙個引數只能只能是類物件的引用,可以通過類或者例項直接呼叫

靜態方法:定義靜態方法要使用裝飾器@staticmethod,沒有預設必須引數,可以通過類或者例項直接呼叫

方法:依賴定義,依賴呼叫

a

def foo()

pass

a().foo()

class

person:

def__init__(self,first_name,last_name):

self.__first_name=first_name

self.__last_name=last_name

defshow(self,s):

#this show(s){}

print(self.__first_name)

print(self.__last_name)

print(self.full_name,s) #print(propterty(full_name),s)

@property

deffull_name(self):

return

self.__first_name+'.'+self.__last_name

@full_name.setter

deffull_name(self,full_name):

self.__first_name=full_name[:full_name.index(".")]

self.__last_name=full_name[full_name.index(".")+1

:]p=person("wang","wu")

p.show("haha")

print(p.full_name)

p.full_name="li.si

p.show("heihei")

例項方法例項:

class

myclass:

deffoo

(self):

print(id(self))

a = myclass() #建立本身

print(id(a))

a.foo()

類方法例項:

class

myclass:

deffoo

(self):

print(id(self))

a = myclass() #建立本身

b = myclass() #有建立了乙個新的例項

print(id(a))

a.foo()

myclass.foo() 這是錯誤的,不能被呼叫,因為foo()是例項方法

靜態方法例項:

class

myclass:

deffoo

(self):

print(id(self))

@classmethod

# def foo2(self):

# print(id(self))

deffoo2

(cls):

print(id(cls))

@staticmethod

deffoo3

(): print('foo3')

a = myclass() #建立本身

b = myclass() #有建立了乙個新的例項

print(id(a))

a.foo()

print(id(myclass))

myclass.foo2()

a.foo2()

a.foo()

myclass.foo3()

私有的類方法

__private_method 兩個下劃線開頭,宣告該方法為私有方法,不能在類地外部呼叫

在類的內部呼叫slef.__private_methods

類的專有方法:

_ init _ 建構函式,在生成物件時呼叫

_ del_ 析構函式,釋放物件時使用

_ repr_ 列印,轉換

_ setitem_按照索引賦值

_ getitem_按照索引獲取值

_ len_獲得長度

_ cmp_比較運算

_ call_函式呼叫

_ add_加運算

_ sub_減運算

_ mul_乘運算

_ div_除運算

_ mod_求餘運算

_ pow_稱方

Python筆記 類定義

python筆記 類定義 一 類定義 class 類名 語句 類例項化後,可以使用其屬性,實際上,建立乙個類之後,可以通過類名訪問其屬性 如果直接使用類名修改其屬性,那麼將直接影響到已經例項化的物件 類的私有屬性 private attrs 兩個下劃線開頭,宣告該屬性為私有,不能在類地外部被使用或直...

Python筆記 類定義

一 類定義 class 類名 語句 類例項化後,可以使用其屬性,實際上,建立乙個類之後,可以通過類名訪問其屬性 如果直接使用類名修改其屬性,那麼將直接影響到已經例項化的物件 類的私有屬性 private attrs 兩個下劃線開頭,宣告該屬性為私有,不能在類地外部被使用或直接訪問 在類內部的方法中使...

Python筆記 類定義

class 類名 語句 類例項化後,可以使用其屬性,實際上,建立乙個類之後,可以通過類名訪問其屬性 如果直接使用類名修改其屬性,那麼將直接影響到已經例項化的物件 類的私有屬性 private attrs 兩個下劃線開頭,宣告該屬性為私有,不能在類地外部被使用或直接訪問 在類內部的方法中使用時 sel...