新聞中心
這篇文章主要為大家展示了“python中ChainMap如何管理默認(rèn)參數(shù)值”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“python中ChainMap如何管理默認(rèn)參數(shù)值”這篇文章吧。
專注于為中小企業(yè)提供成都做網(wǎng)站、網(wǎng)站建設(shè)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)梁園免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了超過(guò)千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
1、ChainMap管理方法和函數(shù)中的默認(rèn)參數(shù)值。
2、ChainMap對(duì)象以kwargs和defaults為參數(shù)。這個(gè)順序可以確保在實(shí)例類中手動(dòng)提供的。
參數(shù)優(yōu)先于defaults值。
實(shí)例
假設(shè)你正在編寫一個(gè)管理貴公司員工數(shù)據(jù)的應(yīng)用程序。你有以下類別,代表一個(gè)通用用戶:
在某些情況下,您需要添加一個(gè)功能工訪問(wèn)CRM系統(tǒng)的不同組件。你的第一個(gè)想法是修改user來(lái)添加新功能。但這可能會(huì)使類太復(fù)雜,所以你決定創(chuàng)建一個(gè)子類CRMUser來(lái)提供所需的功能。
這一類以用戶name和CRMcomponent為參數(shù)。它還需要一些**kwargs。您希望通過(guò)CRMUser為基類的初始值設(shè)置項(xiàng)提供合理的默認(rèn)值來(lái)實(shí)現(xiàn),而不會(huì)失去**kwargs。以下是用以下方法解決問(wèn)題的ChainMap:
from collections import ChainMap class CRMUser(User): def __init__(self, name, component, **kwargs): defaults = {"user_id": next(component.user_id), "role": "read"} super().__init__(name, **ChainMap(kwargs, defaults))
在這個(gè)代碼示例中,您將創(chuàng)建user.類初始化,以name、component和**kwargs為參數(shù)。然后,你創(chuàng)建一個(gè)本地字典,包括user_id和默認(rèn)值role。接著.__init__()使用super().在此調(diào)用中,您的name直接傳輸?shù)礁讣?jí)的初始值設(shè)置項(xiàng),并使用鏈映射為其他參數(shù)提供默認(rèn)值。
以上是“python中ChainMap如何管理默認(rèn)參數(shù)值”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
分享文章:python中ChainMap如何管理默認(rèn)參數(shù)值
轉(zhuǎn)載源于:http://www.ef60e0e.cn/article/jspeji.html