您好,登錄后才能下訂單哦!
這篇文章主要講解了“Python類方法和類方法靜態方法分別是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Python類方法和類方法靜態方法分別是什么”吧!
類方法也可以進行更細致的劃分,具體可分為類方法、實例方法和靜態方法。
實例方法
通常情況下,在類中定義的方法默認都是實例方法。
例:
class CLanguage: # 類構造方法,也屬于實例方法 def __init__(self): self.name = "百度" self.add = "www.baidu.com" # 下面定義了一個say實例方法 def say(self): print("正在調用 say() 實例方法")
調用say()方法,實現功能。
clang = CLanguage() clang.say()
運行結果:
注:
實例方法最少也要包含一個 self 參數,用于綁定調用此方法的實例對象。
類方法
Python 類方法和實例方法相似,它最少也要包含一個參數,只不過類方法中通常將其命名為 cls,Python 會自動將類本身綁定給 cls 參數(注意,綁定的不是類對象)。所以在調用類方法時,無需顯式為 cls 參數傳參。
和實例方法最大的不同在于,類方法需要使用@classmethod修飾符進行修飾。
例:
class ass: #類構造方法,也屬于實例方法 def __init__(self): self.name = "百度" self.add = "www.baidu.com" #定義了一個類方法 @classmethod def info(cls): print("正在調用類方法",cls)
如果沒有 @classmethod,則 Python 解釋器會將 fly() 方法認定為實例方法,而不是類方法。
類方法推薦使用類名直接調用。
#使用類名直接調用類方法 ass.info() #使用類對象調用類方法 clang = ass() clang.info()
運行結果:
類靜態方法
靜態方法定義在類這個空間(類命名空間)中,而函數則定義在程序所在的空間(全局命名空間)中。
靜態方法沒有類似 self、cls 這樣的特殊參數,因此 Python 解釋器不會對它包含的參數做任何類或對象的綁定。
靜態方法需要使用@staticmethod修飾。
例:
class ass: @staticmethod def info(name, add): print(name, add)
靜態方法可以使用類名,類對象兩種方式進行調用。
# 使用類名直接調用靜態方法 ass.info("百度1", "www.baidu.com") # 使用類對象調用靜態方法 clang = ass() clang.info("百度2", "www.baidu.com")
運行結果:
本文基于Python基礎,介紹了實例方法、類方法和類方法靜態方法,通過實際案例講解了三種方法的不同用法,通過代碼演示,運行效果圖的展示,能夠幫助讀者更好的理解。
歡迎大家積極嘗試,有時候看到別人實現起來很簡單,但是到自己動手實現的時候,總會有各種各樣的問題,切勿眼高手低,勤動手,才可以理解的更加深刻。
代碼很簡單,希望對你學習有幫助。
感謝各位的閱讀,以上就是“Python類方法和類方法靜態方法分別是什么”的內容了,經過本文的學習后,相信大家對Python類方法和類方法靜態方法分別是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。