在Python中,对于默认值,使用**kwargs的正确方法是什么?

kwargs返回一个字典,但是设置默认值的最佳方法是什么,或者有没有?我应该把它当成字典吗?使用get函数?

class ExampleClass:
    def __init__(self, **kwargs):
        self.val = kwargs['val']
        self.val2 = kwargs.get('val2')

一个简单的问题,但我找不到好的资源.在我见过的代码中,人们用不同的方式来做这件事,很难知道该用什么.

推荐答案

对于字典中没有的键,可以将默认值传递到get():

self.val2 = kwargs.get('val2',"default value")

但是,如果您计划使用具有特定默认值的特定参数,为什么不首先使用命名参数呢?

def __init__(self, val2="default value", **kwargs):

Python相关问答推荐

这家einsum运营在做什么?E = NP.einsum(aj,kl-il,A,B)

code _tkinter. Tcl错误:窗口路径名称错误.!按钮4"

在matplotlib动画gif中更改配色方案

如何用symy更新分段函数

在函数内部使用eval(),将函数的输入作为字符串的一部分

Pandas - groupby字符串字段并按时间范围 Select

' osmnx.shortest_track '返回有效源 node 和目标 node 的'无'

Mistral模型为不同的输入文本生成相同的嵌入

如何在虚拟Python环境中运行Python程序?

为什么默认情况下所有Python类都是可调用的?

如何在python xsModel库中定义一个可选[December]字段,以产生受约束的SON模式

修复mypy错误-赋值中的类型不兼容(表达式具有类型xxx,变量具有类型yyy)

OR—Tools中CP—SAT求解器的IntVar设置值

无法在Docker内部运行Python的Matlab SDK模块,但本地没有问题

Pandas Data Wrangling/Dataframe Assignment

lityter不让我输入左边的方括号,'

手动设置seborn/matplotlib散点图连续变量图例中显示的值

具有相同图例 colored颜色 和标签的堆叠子图

在numpy数组中寻找楼梯状 struct

从一个df列提取单词,分配给另一个列