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...