为了账号安全,请及时绑定邮箱和手机立即绑定

动态地将参数传递给 Python 中的函数

动态地将参数传递给 Python 中的函数

潇潇雨雨 2021-09-14 15:08:19
我想编写一个代码来检查字典中的键,如果存在则将其设置为函数作为参数。def myFunction(*args, **kwargs):    # do stuffs    if('name' in kwargs):        thisTitle = kwargs.pop('name')            print(thisTitle)    ...    return thisTitlet = {}if 'name' in t.keys()     and 'param1' in t.keys()     and 'param2' in t.keys():    res = myFunction(name      = t['name'],                      myparam1  = t['param1'],                     secondPar = t['param2'])elif 'name' in t.keys()     and 'param1' in t.keys():    res = myFunction(name=t['name'],                      myparam1=t[param1])elif 'name' in t.keys():    res = myFunction(name=t['name'])如果我有 10 个参数怎么办?一定会有更好的办法。
查看完整描述

2 回答

?
芜湖不芜

TA贡献1796条经验 获得超7个赞

我还建议使用default论点 onpop而不是检查是否存在:thisTitle = kwargs.pop('name', default); 所以你不要同时做 ain和 a pop

if('name' in kwargs):
    thisTitle = kwargs.pop('name')

变成:

thisTitle = kwargs.pop('name', None)

除非从字典中删除键是必需的效果,否则使用get而不是更好pop

thisTitle = kwargs.get('name', None)

当未提供关键字参数时,您的函数将返回None而不是生成 a 。NameErrorname


查看完整回答
反对 回复 2021-09-14
  • 2 回答
  • 0 关注
  • 181 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信