亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

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

瀏覽:2日期:2022-06-16 09:57:38

python中的class_static的@classmethod的使用 classmethod的使用,主要針對(duì)的是類(lèi)而不是對(duì)象,在定義類(lèi)的時(shí)候往往會(huì)定義一些靜態(tài)的私有屬性,但是在使用類(lèi)的時(shí)候可能會(huì)對(duì)類(lèi)的私有屬性進(jìn)行修改,但是在沒(méi)有使用class method之前對(duì)于類(lèi)的屬性的修改只能通過(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 = nameself.__money = money @property def price(self):return self.__money*Goods.__discount @classmethod def change(cls,new_discount):#注意這里不在是self了,而是cls進(jìn)行替換cls.__discount = new_discountapple = Goods(’蘋(píng)果’,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)名.方法名()來(lái)調(diào)用,那他們有什么區(qū)別呢

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

如果在@staticmethod中要調(diào)用到這個(gè)類(lèi)的一些屬性方法,只能直接類(lèi)名.屬性名或類(lèi)名.方法名。而@classmethod因?yàn)槌钟衏ls參數(shù),可以來(lái)調(diào)用類(lèi)的屬性,類(lèi)的方法,實(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用法

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

class A(): def __init__(self,name):self.name = nameself.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)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 黄色一级视频免费 | 一级黄色片在线观看 | 欧美经典成人在观看线视频 | 亚洲福利区 | 一区二区影视 | 国产一二三区精品 | 久久网页 | 国产美女激情视频无打码 | 欧美亚洲国产精品第一页 | 黄色看片网址 | 国产成人在线观看网站 | 国产91原创 | 成人黄色网 | 韩国深夜福利视频19禁在线观看 | 久热中文字幕精品视频在线 | 成人99国产精品一级毛片 | 午夜视频网 | 欧美网站在线观看 | 久久婷婷综合五月一区二区 | 麻豆传媒网站网址入口 | 黄色片视频在线免费观看 | 一级做一级爱a做片性视频视频 | 黄色一级片播放 | 欧美日韩国产精品综合 | 亚洲人成亚洲人成在线观看 | 国产成人免费永久播放视频平台 | 快射视频在线观看 | 久久99热不卡精品免费观看 | 免费人成在线观看视频不卡 | 精品欧美亚洲韩国日本久久 | 97碰碰碰免费公开在线视频 | 精品欧美日韩一区二区三区 | 免费又色又爽1000禁片 | 久久逼网 | 精品毛片 | 97在线视频99播放 | 日本黄大片视频在线播放 | 在线观看亚洲一区 | 亚洲欧美一 | 免费观看好看的国产片 | 亚洲美女一级毛片 |