溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python類方法和類方法靜態方法實例分析

發布時間:2022-05-18 11:52:03 來源:億速云 閱讀:173 作者:iii 欄目:大數據

這篇文章主要講解了“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()

運行結果:

Python類方法和類方法靜態方法實例分析

注:

實例方法最少也要包含一個 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()

運行結果:

Python類方法和類方法靜態方法實例分析

類靜態方法

靜態方法定義在類這個空間(類命名空間)中,而函數則定義在程序所在的空間(全局命名空間)中。

靜態方法沒有類似 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類方法和類方法靜態方法實例分析這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女