zoukankan      html  css  js  c++  java
  • 关于Python args 与 **kwargs

    首先Python函数参数可以是多个可选的
    比如args传进来一个list可以遍历里面的非必要参数
    比如**kwargs传进来一个dict可以根据参数名来找到对应的value
    然后遇到的问题是,有时候包太多层太复杂的情况时,或者开发者根本不知道别人传进来啥参数时,就帮着继续传,导致最后这个kwargs里面混杂着许多奇怪且不知名的东西,并且可能永远也没人用到这个可选参数

    于是就从方便变成了被人唾弃

    遇到一个情况,**option表示函数的可选参数,因为传了太多层,导致很混乱,今天弄了个小功能,结果基类里的 **option已经包含太多奇怪的东西,大家扬言再加入 **option就杀了我,于是有一个操作可以在我使用的外层提前捞出我想要的可选参数,使得 **option里的内容不被污染
    代码如下

        def __init__(self, path: str, value:str = 'something', **options):
            super().__init__(path, **options)
            self.value = value
    

    临时记得笔记,以后有机会再详细补充

  • 相关阅读:
    日期时间工具(dayjs)的使用
    Apache JMeter下载使用
    webpack 干货总结
    常见设计模式——模板方法
    常见设计模式——代理模式
    Codeforces Round #340 (Div. 2)E
    HDU 4547
    HDU 2586
    LCA算法的介绍与模板
    1073. 负二进制数相加
  • 原文地址:https://www.cnblogs.com/kuronekonano/p/12392102.html
Copyright © 2011-2022 走看看