python物件導向之靜態方法

2021-08-25 14:20:53 字數 618 閱讀 5161

python的類中有幾個加了裝飾器的特殊方法成員:靜態方法、類方法、屬性方法

在方法頭加上@staticmethod,就是乙個靜態方法。

靜態方法只是寫在類裡面的方法,和類沒什麼關係,名義上歸類管理,但不能訪問類或例項中的任何屬性。

我們看乙個靜態方法的例子就能理解:

class dog(object):

'''用3個引號寫在這裡的文字,使用dog.__doc__可以檢視這段文字'''

def __init__(self, name):

self.name = name

@staticmethod #靜態方法,和類沒什麼關係,寫在類裡面的方法

def eat(str1,str2): #只是名義上歸類管理,實際上在靜態方法裡訪問不了類或例項中的任何屬性

print("%s吃%s"%(str1,str2))

print(dog.__doc__)

#輸出:用3個引號寫在這裡的文字,使用dog.__doc__可以檢視這段文字

dog.eat('狗','骨頭')

#輸出:狗吃骨頭

相當於我們的sys模組、很多內建方法一樣,匯入了你寫的模組,就可以直接呼叫他們的靜態方法。

Python物件導向之靜態方法 靜態方法與類方法

類呼叫函式屬性時,需要先將類例項化,再將例項作為函式屬性傳入 類的例項呼叫函式屬性時需要在後面加括號。class building def init self,name,owner,width,length self.name name self.owner owner self.width wid...

python物件導向9 靜態方法

靜態方法的本質任然是函式,只是把這個函式進行歸類 在物件導向的思想中,整個過程,就是給物件和方法歸類。當某一函式需要呼叫,但卻只有在某乙個類中才需要用到的時候,我們可以給類定義乙個靜態方法來實現。def plus x,y return x y class car pass print plus 1,...

Python物件導向之方法

任務 給定一段 請修改其中部分 使 可以成功執行。請在下面的begin end之間按照注釋中給出的提示編寫正確的 begin class kls def init self,data self.data data staticmethod defcheckind return ind on defd...