最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python入門之實例方法、類方法和靜態(tài)方法的區(qū)別講解

 更新時間:2023年10月08日 11:05:46   作者:Le0v1n  
這篇文章主要介紹了Python入門之實例方法、類方法和靜態(tài)方法的區(qū)別講解,實例方法是在創(chuàng)建了類的實例之后才能被調用的方法,類方法是在不需要創(chuàng)建類的實例的情況下就可以調用的方法,最后,靜態(tài)方法是與類和類的實例都沒有綁定關系的方法,需要的朋友可以參考下

1. 例子

class Dog:
    # 定義類變量(類屬性)
    dogbook = {"黃色": 30, "黑色": 20, "白色": 0}
    def __init__(self, name, color, weight) -> None:
        self.name = name
        self.color = color
        self.weight = weight
        if self.color in self.dogbook:
            self.dogbook[self.color] += 1
        else:
            self.dogbook[self.color] = 1
    # 定義實例方法(定義時,必須把self作為第一個參數(shù)),該方法可以訪問實例變量(屬性)。調用時必須通過實例名來調用,不能通過類名來調用
    def bark(self):
        print(f"{self.name} is barking!")
    # 定義類方法(定義時,必須把cls作為第一個參數(shù))。該方法可以訪問類變量(屬性),可以通過實例名來調用,也可以通過類名來調用
    @classmethod
    def dog_num(cls):
        num = 0
        for val in cls.dogbook.values():
            num += val
        return num
    """
        定義靜態(tài)方法(定義式,不需要把self和cls作為第一個參數(shù))。靜態(tài)方法就是普通的函數(shù),它對類和實例都一無所知。
        不能訪問類變量,也不能訪問實例變量。可以通過實例名來調用,也可以通過類名來調用
        靜態(tài)方法寫在類外面也是可以的,寫在類里面只是因為這個函數(shù)和類有一定的關系,邏輯上更加易懂!
    """
    @staticmethod
    def total_weights(形參):
        total = 0
        for val in 形參:
            total += val.weight
        return total
if __name__ == "__main__":
    print(f"共有 {Dog.dog_num()} 條狗")
    dog_1 = Dog(name="大黃", color="黃色", weight=10)
    dog_1.bark()
    print(f"共有 {Dog.dog_num()} 條狗")
    try:
        Dog.bark()
    except:
        print("不能通過類名調用實例方法!")
    dog_2 = Dog(name="旺財", color="灰色", weight=8)
    dog_2.bark()
    print(f"共有 {Dog.dog_num()} 條狗")
    print(f"狗的重量為: {Dog.total_weights(形參=[dog_1, dog_2])}")

運行結果:

共有 50 條狗
大黃 is barking!
共有 51 條狗
不能通過類名調用實例方法!
旺財 is barking!
共有 52 條狗
狗的重量為: 18

2. 說明

名稱裝飾器定義是否可以訪問實例變量實例名調用類名調用
實例方法必須把self作為第一個參數(shù)×
類方法@classmethod必須把cls作為第一個參數(shù)
靜態(tài)方法@staticmethod等價于普通函數(shù)×

3. 注意事項

  • 默認創(chuàng)建的方法都是實例方法
  • 類方法在創(chuàng)建時第一個參數(shù)必須是cls,不能缺省
  • 靜態(tài)方法不可以傳入self,會報錯(因為靜態(tài)方法本質上就是普通的函數(shù),傳入的self會被認為是一個形參)!

4. 總結

總的來說

  • 實例方法適用于需要類的每個實例共享的操作;
  • 類方法用于需要在不創(chuàng)建類實例的情況下執(zhí)行操作的情況;
  • 而靜態(tài)方法則適用于不需要訪問類或實例的數(shù)據(jù)的情況。

要理解這三種方法的區(qū)別和何時使用它們,是Python類編程的基本技巧之一。

到此這篇關于Python入門之實例方法、類方法和靜態(tài)方法的區(qū)別講解的文章就介紹到這了,更多相關實例方法、類方法和靜態(tài)方法區(qū)別內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Python實現(xiàn)從文件中加載數(shù)據(jù)的方法詳解

    Python實現(xiàn)從文件中加載數(shù)據(jù)的方法詳解

    日常工作中有許多類型的文件,以及許多方法,用它們從文件中提取數(shù)據(jù)來圖形化。本文將利用Python實現(xiàn)從文件中加載數(shù)據(jù),感興趣的可以了解一下
    2022-04-04
  • 解決Mac安裝scrapy失敗的問題

    解決Mac安裝scrapy失敗的問題

    今天小編就為大家分享一篇解決Mac安裝scrapy失敗的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • 使用 Python 查找本月的最后一天的方法匯總

    使用 Python 查找本月的最后一天的方法匯總

    這篇文章主要介紹了使用 Python 查找本月的最后一天,在本文中,我們學習了使用 datetime 和 calendar 等內置庫以及 arrow 和 pandas 等第三方庫在 Python 中查找月份最后一天的各種方法,需要的朋友可以參考下
    2023-05-05
  • 使用Python和PyQt5開發(fā)一個多功能音樂播放器

    使用Python和PyQt5開發(fā)一個多功能音樂播放器

    在日常開發(fā)中,多媒體應用無疑是最常見的需求之一,音樂播放器作為其中的典型代表,不僅要求具備流暢的播放體驗,還需提供豐富的功能,本文將帶領你一步步學習如何使用 Python 和 PyQt5 庫開發(fā)一個功能全面的音樂播放器,需要的朋友可以參考下
    2026-01-01
  • Django用戶認證系統(tǒng) Web請求中的認證解析

    Django用戶認證系統(tǒng) Web請求中的認證解析

    這篇文章主要介紹了Django用戶認證系統(tǒng) Web請求中的認證解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • python pandas時序處理相關功能詳解

    python pandas時序處理相關功能詳解

    這篇文章主要介紹了python pandas時序處理相關功能詳解的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-07-07
  • Python系統(tǒng)監(jiān)控之跨平臺檢查系統(tǒng)服務運行狀態(tài)的完整指南

    Python系統(tǒng)監(jiān)控之跨平臺檢查系統(tǒng)服務運行狀態(tài)的完整指南

    系統(tǒng)服務是操作系統(tǒng)和應用程序正常運行的基礎,本文將和大家分享一個系統(tǒng)服務狀態(tài)檢查的Python實用腳本,可以跨平臺檢查系統(tǒng)服務的運行狀態(tài),并提供詳細的報告和告警功能,有需要的可以參考下
    2025-12-12
  • Python庫安裝速度過慢解決方案

    Python庫安裝速度過慢解決方案

    這篇文章主要介紹了Python庫安裝速度過慢解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-07-07
  • python接口自動化之使用token傳入到header消息頭中

    python接口自動化之使用token傳入到header消息頭中

    這篇文章主要介紹了python接口自動化之使用token傳入到header消息頭中問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • keras實現(xiàn)多GPU或指定GPU的使用介紹

    keras實現(xiàn)多GPU或指定GPU的使用介紹

    這篇文章主要介紹了keras實現(xiàn)多GPU或指定GPU的使用介紹,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06

最新評論

洪湖市| 开阳县| 枣阳市| 读书| 潞西市| 县级市| 宁远县| 定兴县| 曲麻莱县| 吴堡县| 阳信县| 屏东市| 巴东县| 虹口区| 曲松县| 宝坻区| 奉新县| 若羌县| 塘沽区| 乌拉特前旗| 无锡市| 湖州市| 龙游县| 阳信县| 宝兴县| 石屏县| 雅安市| 汝南县| 旌德县| 长泰县| 固阳县| 宕昌县| 金塔县| 高清| 达孜县| 五莲县| 肃南| 平武县| 阜南县| 闻喜县| 临沭县|