十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这篇文章主要为大家展示了“python中ChainMap如何管理默认参数值”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“python中ChainMap如何管理默认参数值”这篇文章吧。
专注于为中小企业提供成都做网站、网站建设、外贸营销网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业梁园免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了超过千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
1、ChainMap管理方法和函数中的默认参数值。
2、ChainMap对象以kwargs和defaults为参数。这个顺序可以确保在实例类中手动提供的。
参数优先于defaults值。
实例
假设你正在编写一个管理贵公司员工数据的应用程序。你有以下类别,代表一个通用用户:
在某些情况下,您需要添加一个功能工访问CRM系统的不同组件。你的第一个想法是修改user来添加新功能。但这可能会使类太复杂,所以你决定创建一个子类CRMUser来提供所需的功能。
这一类以用户name和CRMcomponent为参数。它还需要一些**kwargs。您希望通过CRMUser为基类的初始值设置项提供合理的默认值来实现,而不会失去**kwargs。以下是用以下方法解决问题的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))
在这个代码示例中,您将创建user.类初始化,以name、component和**kwargs为参数。然后,你创建一个本地字典,包括user_id和默认值role。接着.__init__()使用super().在此调用中,您的name直接传输到父级的初始值设置项,并使用链映射为其他参数提供默认值。
以上是“python中ChainMap如何管理默认参数值”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!