温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python中ChainMap如何管理默认参数值

发布时间:2021-09-12 09:20:03 来源:亿速云 阅读:218 作者:小新 栏目:编程语言

这篇文章主要为大家展示了“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如何管理默认参数值”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI