在Python中使用kwargs添加参数

2 投票
2 回答
5224 浏览
提问于 2025-04-17 11:12

下面是我的函数

def list_abc(self, name, id, keywords):
        cmd = ABC() //ABC is a class
        cmd.id=id
        cmd.name=name
        cmd.keywords=keywords
        return ABC(cmd)

我想在Python中通过**kwargs传递nameidkeywords

有没有什么办法可以做到这一点?

提前谢谢你。

2 个回答

3
def list_abc(self, **kwargs):
    # check if 'name' in kwargs, etc
    cmd = ABC()
    cmd.id = kwargs['id']
    cmd.name = kwargs['name']
    cmd.keywords = kwargs['keywords']
    return ABC(cmd) # not sure what ABC(ABC) does

...
some_instance.list_abc(name='name', id=1, keywords=['good', 'luck'])


# or, if have a dictionary containing name, id and keywords, you can pass it to the
# method as follows
data = {'name':'name', 'id':1, 'keywords':('a', 'b')}
some_instance.list_abc(**data)

当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。

7

在编程中,有时候我们会遇到一些问题,特别是在使用某些工具或库的时候。这些问题可能会让我们感到困惑,尤其是当我们刚开始学习编程的时候。为了帮助大家更好地理解这些问题,下面的内容会用简单的语言来解释。

首先,了解问题的背景很重要。很多时候,问题的出现是因为我们对某些概念还不够熟悉。比如,可能是因为我们没有正确使用某个函数,或者对某个参数的理解不够清晰。

在解决问题时,通常需要查看错误信息。这些信息就像是编程中的提示,告诉我们哪里出了问题。虽然有时候这些信息看起来很复杂,但只要仔细分析,通常能找到解决的办法。

另外,查阅相关的文档和社区讨论也是一个好方法。很多时候,别人也遇到过类似的问题,他们的解决方案可能会给我们带来启发。

总之,遇到问题时不要着急,慢慢分析,寻找解决方案,逐步提高自己的编程能力。

kwargs = {'name': 'Frank', 'id': 999, 'keywords': ['cool', 'smart']}
result = self.list_abc(**kwargs)

撰写回答