" />

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

python裝飾器類方法classmethod的使用場景

 更新時間:2023年06月16日 11:29:27   作者:軟件開發(fā)技術(shù)修煉  
這篇文章主要為大家介紹了python裝飾器類方法classmethod的使用場景,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

【ps: 最近遇到的@classmethod比較多,故溫故下其用法,一篇例子足以了解】

功能:講解 @classmethod的使用

1、類中創(chuàng)建一個成員函數(shù),用@classmethod裝飾,作用類似靜態(tài)類,但不一樣的是可傳遞類參數(shù);

2、調(diào)用方法:先用函數(shù)對字符串進(jìn)行處理,再使用Date_test2類的構(gòu)造函數(shù)初始化;

3、好處是:重構(gòu)類時,不必修改構(gòu)造函數(shù),只需額外添加要處理的函數(shù)即可,然后使用裝飾符@classmethod

@classmethod機制,可用一種與構(gòu)造器相仿的方式來構(gòu)造類的對象

# -*- coding: utf-8 -*-
'''
@Time    : 2023/6/12 11:36
@Author  : Celeste
@File    : classmethod_.py
'''
class Date_test2(object):
    day = 0
    month = 0
    year = 0
    def __init__(self, year=0, month=0, day=0):
        self.day = day
        self.month = month
        self.year = year
    @classmethod
    def get_date(cls, string_date):
        # 這里第一個參數(shù)是cls,表示調(diào)用當(dāng)前的類名
        year, month, day = map(int, string_date.split('-'))
        date1 = cls(year, month, day)
        # 返回的是一個初始化后的類
        return date1
    def out_date(self):
        print("year :", self.year)
        print("month :", self.month)
        print("day :", self.day)
t = Date_test2(2020,3,6)
t.out_date()
r = Date_test2.get_date("2023-6-12")
r.out_date()

本場景可看到的好處:

1、將處理的函數(shù)統(tǒng)一放入類中,使代碼更加簡潔

2、可以同時支持兩種輸入格式。

a:“2019,10,26”,

b:“2019-10-26”

3、使代碼更加容易維護(hù)

類方法與靜態(tài)方法@staticmethod的區(qū)別及使用場景

一般情況下,我們的類方法,和靜態(tài)方法多出現(xiàn)在工具類中,也就是不需要創(chuàng)建對象就可以調(diào)用的方法。

類方法:在方法中只使用類屬性和類方法時,我們使用類方法。
靜態(tài)方法:當(dāng)方法中,既不是用類的屬性和方法,也不適用實例的屬性和方法時,我們使用靜態(tài)方法。

類方法的應(yīng)用范圍比靜態(tài)方法的使用場景要多一些,如果實在拿不定注意,就先寫類方法, 如果發(fā)現(xiàn)cls參數(shù)并沒有被使用,那么我們就可以切換為靜態(tài)方法了。

以上就是python裝飾器類方法classmethod的使用場景的詳細(xì)內(nèi)容,更多關(guān)于python裝飾器類classmethod的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 利用pygame完成動畫精靈和碰撞檢測

    利用pygame完成動畫精靈和碰撞檢測

    這篇文章主要介紹了利用pygame完成動畫精靈和碰撞檢測,代碼詳細(xì),內(nèi)容豐富,對于想要學(xué)習(xí)pygame的朋友來講是一個不錯的練習(xí),需要的朋友可以參考下
    2021-04-04
  • Python 添加命令行參數(shù)步驟

    Python 添加命令行參數(shù)步驟

    這篇文章主要介紹了Python 添加命令行參數(shù)步驟,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-08-08
  • Python實現(xiàn)在線音樂播放器

    Python實現(xiàn)在線音樂播放器

    這篇文章主要為大家詳細(xì)介紹了Python實現(xiàn)在線音樂播放器的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • scrapy結(jié)合selenium解析動態(tài)頁面的實現(xiàn)

    scrapy結(jié)合selenium解析動態(tài)頁面的實現(xiàn)

    這篇文章主要介紹了scrapy結(jié)合selenium解析動態(tài)頁面的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Python實現(xiàn)Canny及Hough算法代碼實例解析

    Python實現(xiàn)Canny及Hough算法代碼實例解析

    這篇文章主要介紹了Python實現(xiàn)Canny與Hough算法代碼實例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-08-08
  • 關(guān)于Python中的向量相加和numpy中的向量相加效率對比

    關(guān)于Python中的向量相加和numpy中的向量相加效率對比

    今天小編就為大家分享一篇關(guān)于Python中的向量相加和numpy中的向量相加效率對比,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • 針對Pandas的總結(jié)以及數(shù)據(jù)讀取_pd.read_csv()的使用詳解

    針對Pandas的總結(jié)以及數(shù)據(jù)讀取_pd.read_csv()的使用詳解

    這篇文章主要針對Pandas總結(jié)以及數(shù)據(jù)讀取_pd.read_csv()的使用詳解做出了實例,講解非常全面,值得收藏,需要的朋友可以參考下
    2023-03-03
  • Java基礎(chǔ)技術(shù)之反射詳解

    Java基礎(chǔ)技術(shù)之反射詳解

    這篇文章主要介紹了Java基礎(chǔ)技術(shù)之反射詳解,反射就是把Java類中的各個部分,映射成一個個的Java對象,拿到這些對象后可以做一些事情,需要的朋友可以參考下
    2023-07-07
  • Python?Streamlit制作交互式可視化網(wǎng)頁應(yīng)用實例

    Python?Streamlit制作交互式可視化網(wǎng)頁應(yīng)用實例

    這篇文章主要為大家介紹了Python?Streamlit制作交互式可視化網(wǎng)頁應(yīng)用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • python中使用pyhook實現(xiàn)鍵盤監(jiān)控的例子

    python中使用pyhook實現(xiàn)鍵盤監(jiān)控的例子

    這篇文章主要介紹了python中使用pyhook實現(xiàn)鍵盤監(jiān)控的例子,包含pyhook的下載地址和手冊地址及一個Windows下的監(jiān)控實例,需要的朋友可以參考下
    2014-07-07

最新評論

武川县| 濉溪县| 玉门市| 岗巴县| 怀来县| 宝清县| 岢岚县| 饶河县| 泽普县| 吴旗县| 阳江市| 会东县| 南安市| 新昌县| 长岭县| 玉田县| 若尔盖县| 恩施市| 梧州市| 内乡县| 泰和县| 仪征市| 勐海县| 长汀县| 晋城| 奇台县| 福清市| 石景山区| 三台县| 徐汇区| 马龙县| 神农架林区| 长丰县| 申扎县| 济源市| 台北市| 井冈山市| 石景山区| 郎溪县| 中山市| 东至县|