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

詳解python中@classmethod和@staticmethod方法

 更新時(shí)間:2022年10月14日 10:12:28   作者:shaoyishi  
在python類當(dāng)中,經(jīng)常會(huì)遇到@classmethod和@staticmethod這兩個(gè)裝飾器,那么到底它們的區(qū)別和作用是啥子呢?本文結(jié)合場景分析給大家詳細(xì)講解,感興趣的朋友跟隨小編一起看看吧

在python類當(dāng)中,經(jīng)常會(huì)遇到@classmethod和@staticmethod這兩個(gè)裝飾器,那么到底它們的區(qū)別和作用是啥子呢?具體來看下。

  • @classmethod :默認(rèn)有一個(gè)cls參數(shù),用類或?qū)ο蠖伎梢哉{(diào)用。
  • @staticmethod:靜態(tài)方法,無默認(rèn)參數(shù),用類和對象都可以調(diào)用。

1.@staticmethod:

我們看下代碼:

class A:
    def f1(x):
        print(x)
         
A.f1(2)  # 2  類.函數(shù)

創(chuàng)建一個(gè)類,通過類調(diào)用函數(shù)。

class A:
    @staticmethod
    def f1(x):
        print(x)
         
A.f1(2)  # 2  類.靜態(tài)方法
A().f1(2)  # 2 對象.靜態(tài)方法  這種情況下是可以執(zhí)行的,如果上述f1沒有被staticmethod裝飾那么就會(huì)報(bào)錯(cuò)!??!

創(chuàng)建一個(gè)類,通過類調(diào)用函數(shù)。同時(shí),因?yàn)樵摲椒ū籹taticmethod裝飾器裝飾了,那么通過對象.方法也是可以調(diào)用的。

所以在類中,通過@staticmethod裝飾的函數(shù),可以直接被類調(diào)用,也可以被實(shí)例化后的對象調(diào)用?。?!

同時(shí),發(fā)現(xiàn)@staticmethod裝飾的函數(shù)根本不需要傳遞self這個(gè)參數(shù)。因?yàn)楸籃staticmethod裝飾的函數(shù)是直接綁定在類上而不是對象上。

2.@classmethod:

class A:
    @classmethod
    def f1(cls,x):
        print(x)
         
A.f1(2)  # 2  類.方法
A().f1(2) # 2  對象.方法

創(chuàng)建一個(gè)類,通過類調(diào)用函數(shù)。同時(shí),因?yàn)樵摲椒ū籧lassmethod裝飾器裝飾了,那么通過對象.方法也是可以調(diào)用的。但注意,在被裝飾方法中,必須傳遞cls參數(shù)?。?!

class B:
    name = 'bruce'
    age = 16
    @classmethod
    def f1(cls,x):
        print(x)
        print(cls.age)
        print(cls.name)
B().f1(1)
# 1
# 16
# bruce

上述中,說明被classmethod裝飾后的方法,通過cls參數(shù),在該方法中,可以調(diào)用該類的屬性。

class C:
 
    @classmethod
    def f1(cls,x):
        print(x)
        cls().f2()
 
    def f2(self):
        print('hello world')
 
C.f1(1) 或者 C().f1(1)# 1<br># hello world

上述中,說明被classmethod裝飾后的方法,通過cls參數(shù),在該方法中,可以調(diào)用該類的其他方法。

所以在類中,通過@classmethod裝飾的函數(shù),首先在方法中必須傳遞第一個(gè)參數(shù)cls, 該函數(shù)可以被類直接調(diào)用,也可以被對象調(diào)用!!!

同時(shí),因?yàn)閭鬟f了一個(gè)cls,所以可以調(diào)用類中的其他屬性和方法。

到此這篇關(guān)于詳解python中@classmethod和@staticmethod方法的文章就介紹到這了,更多相關(guān)python中@classmethod和@staticmethod內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 如何在Python中引用其他模塊

    如何在Python中引用其他模塊

    這篇文章主要介紹了如何在Python中引用其他模塊,在Python中,除了可以自定義模塊外,還可以引用其他模塊,主要包括使用標(biāo)準(zhǔn)庫和第三方模塊,下面文章分別詳細(xì)的介紹,需要的小伙伴可以參考一下
    2022-06-06
  • python3 字符串/列表/元組(str/list/tuple)相互轉(zhuǎn)換方法及join()函數(shù)的使用

    python3 字符串/列表/元組(str/list/tuple)相互轉(zhuǎn)換方法及join()函數(shù)的使用

    這篇文章主要介紹了python3 字符串/列表/元組(str/list/tuple)相互轉(zhuǎn)換方法及join()函數(shù)的使用 ,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-04-04
  • 對python過濾器和lambda函數(shù)的用法詳解

    對python過濾器和lambda函數(shù)的用法詳解

    今天小編就為大家分享一篇對python過濾器和lambda函數(shù)的用法詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • 對Python信號處理模塊signal詳解

    對Python信號處理模塊signal詳解

    今天小編就為大家分享一篇對Python信號處理模塊signal詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • Python實(shí)現(xiàn)復(fù)雜的事件驅(qū)動(dòng)架構(gòu)

    Python實(shí)現(xiàn)復(fù)雜的事件驅(qū)動(dòng)架構(gòu)

    事件驅(qū)動(dòng)架構(gòu)(Event-Driven?Architecture,?EDA)是一種軟件設(shè)計(jì)模式,它基于事件的產(chǎn)生、傳播和處理進(jìn)行系統(tǒng)的構(gòu)建,下面我們來看看如何在?Python?中實(shí)現(xiàn)復(fù)雜的事件驅(qū)動(dòng)架構(gòu)吧
    2024-12-12
  • 通過celery異步處理一個(gè)查詢?nèi)蝿?wù)的完整代碼

    通過celery異步處理一個(gè)查詢?nèi)蝿?wù)的完整代碼

    今天小編就為大家分享一篇通過celery異步處理一個(gè)查詢?nèi)蝿?wù)的完整代碼,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • python使用datetime模塊計(jì)算各種時(shí)間間隔的方法

    python使用datetime模塊計(jì)算各種時(shí)間間隔的方法

    這篇文章主要介紹了python使用datetime模塊計(jì)算各種時(shí)間間隔的方法,實(shí)例分析了Python使用datetime模塊進(jìn)行各種常用的時(shí)間操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-03-03
  • python實(shí)現(xiàn)全排列代碼(回溯、深度優(yōu)先搜索)

    python實(shí)現(xiàn)全排列代碼(回溯、深度優(yōu)先搜索)

    今天小編就為大家分享一篇python實(shí)現(xiàn)全排列代碼(回溯、深度優(yōu)先搜索),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • Python文本終端GUI框架的使用方法

    Python文本終端GUI框架的使用方法

    Python中有幾個(gè)流行的文本終端GUI框架,它們提供了創(chuàng)建命令行界面的便捷方法,這些框架使開發(fā)者能夠構(gòu)建交互式、用戶友好的命令行應(yīng)用程序,本文將介紹幾個(gè)主要的Python文本終端GUI框架,展示它們的使用方法和示例代碼,需要的朋友可以參考下
    2023-12-12
  • 利用python Pandas實(shí)現(xiàn)批量拆分Excel與合并Excel

    利用python Pandas實(shí)現(xiàn)批量拆分Excel與合并Excel

    今天帶大家學(xué)習(xí)利用python Pandas實(shí)現(xiàn)批量拆分Excel與合并Excel,文中有非常詳細(xì)的的代碼示例,對正在學(xué)習(xí)python的小伙伴們很有幫助,需要的朋友可以參考下
    2021-05-05

最新評論

图木舒克市| 广饶县| 五台县| 云和县| 五大连池市| 海盐县| 江西省| 两当县| 繁昌县| 元谋县| 新化县| 襄垣县| 江门市| 云阳县| 桃园县| 会昌县| 来宾市| 高陵县| 陵水| 汽车| 泰和县| 龙南县| 鸡泽县| 五常市| 太湖县| 蓝田县| 五莲县| 内黄县| 赣州市| 苗栗县| 新郑市| 盘锦市| 罗江县| 吴江市| 隆尧县| 徐州市| 基隆市| 富宁县| 罗田县| 乌兰浩特市| 峨山|