亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python中的class_static的@classmethod的巧妙用法

 更新時間:2021年06月21日 19:19:54   作者:peterpan--1998  
python中的class_static的@classmethod的使用 classmethod的使用,主要針對的是類而不是對象,在定義類的時候往往會定義一些靜態(tài)的私有屬性,今天通過示例代碼看下classmethod的妙用

python中的class_static的@classmethod的使用 classmethod的使用,主要針對的是類而不是對象,在定義類的時候往往會定義一些靜態(tài)的私有屬性,但是在使用類的時候可能會對類的私有屬性進行修改,但是在沒有使用class method之前對于類的屬性的修改只能通過對象來進行修改,這是就會出現(xiàn)一個問題當(dāng)有很多對象都使用這個屬性的時候我們要一個一個去修改對象嗎?答案是不會出現(xiàn)這么無腦的程序,這就產(chǎn)生classmethod的妙用。請看下面的代碼:

class Goods:
    __discount = 0.8
    def __init__(self,name,money):
        self.__name = name
        self.__money = money
    @property
    def price(self):
        return self.__money*Goods.__discount
    @classmethod
    def change(cls,new_discount):#注意這里不在是self了,而是cls進行替換
        cls.__discount = new_discount

apple = Goods('蘋果',5)
print(apple.price)
Goods.change(0.5) #這里就不是使用apple.change()進行修改了
print(apple.price)

上面只是簡單的列舉了class method的一種使用場景,后續(xù)如果有新的會持續(xù)更新本篇文章 2.既然@staticmethod和@classmethod都可以直接類名.方法名()來調(diào)用,那他們有什么區(qū)別呢

從它們的使用上來看,
@staticmethod不需要表示自身對象的self和自身類的cls參數(shù),就跟使用函數(shù)一樣。
@classmethod也不需要self參數(shù),但第一個參數(shù)需要是表示自身類的cls參數(shù)。

如果在@staticmethod中要調(diào)用到這個類的一些屬性方法,只能直接類名.屬性名或類名.方法名。
而@classmethod因為持有cls參數(shù),可以來調(diào)用類的屬性,類的方法,實例化對象等,避免硬編碼。
下面上代碼。

class A(object):  
    bar = 1  
    def foo(self):  
        print 'foo'  

    @staticmethod  
    def static_foo():  
        print 'static_foo'  
        print A.bar  

    @classmethod  
    def class_foo(cls):  
        print 'class_foo'  
        print cls.bar  
        cls().foo()  
###執(zhí)行  
A.static_foo()  
A.class_foo() 

知識點擴展:python classmethod用法

需求:添加類對象屬性,在新建具體對象時使用該變量

class A():
 
    def __init__(self,name):
        self.name = name
        self.config = {'batch_size':A.bs}
    @classmethod
    def set_bs(cls,bs):
        cls.bs = bs
    def print_config(self):
        print (self.config)
 
A.set_bs(4)
a = A('test')
a.print_config()

以上就是python中的class_static的@classmethod的使用的詳細內(nèi)容,更多關(guān)于python classmethod使用的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Pandas 數(shù)據(jù)框增、刪、改、查、去重、抽樣基本操作方法

    Pandas 數(shù)據(jù)框增、刪、改、查、去重、抽樣基本操作方法

    下面小編就為大家分享一篇Pandas 數(shù)據(jù)框增、刪、改、查、去重、抽樣基本操作方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • Python中sorted()函數(shù)的強大排序技術(shù)實例探索

    Python中sorted()函數(shù)的強大排序技術(shù)實例探索

    排序在編程中是一個基本且重要的操作,而Python的sorted()函數(shù)則為我們提供了強大的排序能力,在本篇文章中,我們將深入研究不同排序算法、sorted()?函數(shù)的靈活性,以及各種排序場景下的最佳實踐
    2024-01-01
  • pandas如何計算移動平均值

    pandas如何計算移動平均值

    在處理金融數(shù)據(jù)分析時,常需計算移動平均值。遇到數(shù)據(jù)不足導(dǎo)致結(jié)果為NAN問題,可使用pandas中rolling函數(shù)的min_periods參數(shù)。設(shè)置min_periods=1即可解決,它允許窗口中的非空觀測值少于窗口大小時也能計算均值,確保數(shù)據(jù)不足時也能得出結(jié)果
    2024-09-09
  • Windows下創(chuàng)建定時任務(wù)執(zhí)行Python腳本的方法實現(xiàn)

    Windows下創(chuàng)建定時任務(wù)執(zhí)行Python腳本的方法實現(xiàn)

    Python定時任務(wù)執(zhí)行,本文主要介紹了Windows下創(chuàng)建定時任務(wù)執(zhí)行Python腳本的方法實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2023-11-11
  • conda虛擬環(huán)境默認路徑的修改方法

    conda虛擬環(huán)境默認路徑的修改方法

    最近發(fā)現(xiàn)我linux系統(tǒng)中的/dev/root目錄利用率占用了100%,這對后面文件的操作帶來了一些麻煩,下面這篇文章主要給大家介紹了關(guān)于conda虛擬環(huán)境默認路徑的修改方法,需要的朋友可以參考下
    2022-07-07
  • Python機器學(xué)習(xí)NLP自然語言處理基本操作之命名實例提取

    Python機器學(xué)習(xí)NLP自然語言處理基本操作之命名實例提取

    自然語言處理(?Natural?Language?Processing,?NLP)是計算機科學(xué)領(lǐng)域與人工智能領(lǐng)域中的一個重要方向。它研究能實現(xiàn)人與計算機之間用自然語言進行有效通信的各種理論和方法
    2021-11-11
  • 解決pycharm同一目錄下無法import其他文件

    解決pycharm同一目錄下無法import其他文件

    今天小編就為大家分享一篇解決pycharm同一目錄下無法import其他文件,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • python 利用棧和隊列模擬遞歸的過程

    python 利用棧和隊列模擬遞歸的過程

    這篇文章主要介紹了python 利用棧和隊列模擬遞歸的過程,文中并通過兩段代碼給大家介紹了下遞歸和非遞歸的區(qū)別,需要的朋友可以參考下
    2018-05-05
  • Python采集天天基金數(shù)據(jù)掌握最新基金動向

    Python采集天天基金數(shù)據(jù)掌握最新基金動向

    這篇文章主要介紹了Python采集天天基金數(shù)據(jù)掌握最新基金動向,本次案例實現(xiàn)流程為發(fā)送請求、獲取數(shù)據(jù)、解析數(shù)據(jù)、多頁爬取、保存數(shù)據(jù),接下來來看看具體的操作過程吧
    2022-01-01
  • python中的句柄操作的方法示例

    python中的句柄操作的方法示例

    這篇文章主要介紹了python中的句柄操作的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-06-06

最新評論