您好,登錄后才能下訂單哦!
這篇文章主要介紹了python中調(diào)用staticmethod是不是要用到參數(shù),具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
1.靜態(tài)方法staticmethod
定義:使用裝飾器@staticmethod。參數(shù)隨意,沒有“self”和“cls”參數(shù),但是方法體中不能使用類或?qū)嵗娜魏螌傩院头椒ǎ?/p>
調(diào)用:實例對象和類對象都可以調(diào)用。
2.類中普通的方法,實際上既可以被類直接調(diào)用也可以被類的實例對象調(diào)用,但是被實例對象調(diào)用的時候,要求方法至少有一個參數(shù),而且調(diào)用時會將實例對象本身傳給第一個參數(shù)。
>>> class Student(object): def __init__(self,name): self.name = name def sayHello(lang): print(lang) if lang == 'en': print('Welcome!') else: print('你好!') >>> Student.sayHello <function Student.sayHello at 0x02AC7810> >>> a = Student('Bob') >>> a.sayHello <bound method Student.sayHello of <__main__.Student object at 0x02AD03F0>> >>> Student.sayHello('en') # 類調(diào)用的時候,將'en'傳給了lang參數(shù) en Welcome! >>> a.sayHello() # 類實例對象調(diào)用的時候,將對象本身自動傳給了lang參數(shù),不能再接收參數(shù) <__main__.Student object at 0x02AD03F0> 你好! >>> a.sayHello('en') Traceback (most recent call last): File "<pyshell#7>", line 1, in <module> a.sayHello('en') TypeError: sayHello() takes 1 positional argument but 2 were given
感謝你能夠認真閱讀完這篇文章,希望小編分享python中調(diào)用staticmethod是不是要用到參數(shù)內(nèi)容對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。