为什么在使用**kwargs时会出现关键的“kwargs”?

为什么{'kwargs':{'1':'a', '2':'b'}}我跑的时候会出现test_func()?我原以为会打印:{'1':'a', '2':'b'}.

代码:

class MyClass:
    def __init__(self, **kwargs):
        self.kwargs = kwargs

    def test_func(self):
        print(self.kwargs)

test_kwargs = {'1':'a', '2':'b'}
my_class = MyClass(kwargs=test_kwargs)
my_class.test_func()

输出:

{'kwargs': {'1': 'a', '2': 'b'}}

回答

这是因为您通过传递以kwargs字典命名的 1 个关键字参数作为值来初始化实例。

如果您想将字典视为 kwargs,则需要调用使用 my_class = MyClass(**test_kwargs)


以上是为什么在使用**kwargs时会出现关键的“kwargs”?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>