好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁(yè) > 知識(shí)庫(kù) > python中的class_static的@classmethod的巧妙用法

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

熱門標(biāo)簽:高德地圖標(biāo)注是免費(fèi)的嗎 百度地圖標(biāo)注位置怎么修改 地圖標(biāo)注視頻廣告 洪澤縣地圖標(biāo)注 老人電話機(jī)器人 大連crm外呼系統(tǒng) 北京電信外呼系統(tǒng)靠譜嗎 無(wú)錫客服外呼系統(tǒng)一般多少錢 梅州外呼業(yè)務(wù)系統(tǒng)

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

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進(jìn)行替換
        cls.__discount = new_discount

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

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

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

如果在@staticmethod中要調(diào)用到這個(gè)類的一些屬性方法,只能直接類名.屬性名或類名.方法名。
而@classmethod因?yàn)槌钟衏ls參數(shù),可以來(lái)調(diào)用類的屬性,類的方法,實(shí)例化對(duì)象等,避免硬編碼。
下面上代碼。

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() 

知識(shí)點(diǎn)擴(kuò)展:python classmethod用法

需求:添加類對(duì)象屬性,在新建具體對(duì)象時(shí)使用該變量

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的使用的詳細(xì)內(nèi)容,更多關(guān)于python classmethod使用的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

您可能感興趣的文章:
  • Python classmethod裝飾器原理及用法解析
  • Python 類方法和實(shí)例方法(@classmethod),靜態(tài)方法(@staticmethod)原理與用法分析
  • python @classmethod 的使用場(chǎng)合詳解
  • 對(duì)Python中的@classmethod用法詳解
  • 基于python中staticmethod和classmethod的區(qū)別(詳解)

標(biāo)簽:清遠(yuǎn) 怒江 洛陽(yáng) 安慶 長(zhǎng)春 吉林 泉州 岳陽(yáng)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《python中的class_static的@classmethod的巧妙用法》,本文關(guān)鍵詞  python,中的,class,static,的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《python中的class_static的@classmethod的巧妙用法》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于python中的class_static的@classmethod的巧妙用法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 91精品国产99久久久久久| 午夜两性网| 真人一级毛片一级是A片真人片啊| 色欲98久久综合国产精品三区| 欧洲在线观看在线视频吗| 大鷄巴亂倫互换视频在线观看| yyyyzzzz欧美yyy| 欧美成人xx禁片在线观看| 性瘾凌虐双性美人调教| 日产精品一线二线三线三上悠亚| 在线毛片网站| 太深了慢一点轻一点| 男人与雌性宠物交| 舌头伸进下面不停添好舒服| 欧美free 性XXXX护士HD| 一级特黄色片| 级片在线播放| 爽灬爽灬好深灬免费视频| 成人性生交大片免费卡看| 无尽?狂揉胸?巨乳视频| 日韩激情中文字幕| 色戒2小时38分未删减版在线看| 0855影视午夜福利片| 亚洲三级电影在线| 伸进衣服捏奶gif揉动态图gif | 男人和女人差差差app| 男人女人午夜视频免费| 杨幂国产精品福利在线观看| 日韩人妻无码一级毛片软件 | 九九九中文无码AV在线播放| 8x8x华人永久视频| 亚洲色图2| 女班长把内裤扒开内裤让我们摸| 久久成年人视频| 理论片免费ā片在线观看| 久久er精品视频| 99热精品国产二区在线| 穿旗袍边做奶水边喷H高H男男| 黄色网app| 男女插视频| 年轻的小婊2韩剧|