python获取函数所有入参的key-value

需要拿到一个函数里所有的传入的参数,并且存在一个字典里。
下面的方法确实拿到了字典,不过要求函数必须用非固定参数**kwargs定义,而且对调用函数很不友好

专业成都网站建设公司,做排名好的好网站,排在同行前面,为您带来客户和效益!成都创新互联公司为您提供成都网站建设,五站合一网站设计制作,服务好的网站设计公司,做网站、网站制作负责任的成都网站制作公司!

def func1(**kwargs):
    d = 'local_d'
    return kwargs

res = func1(a=1, b=2, c=3)
print(res)
# 结果:
# {'a': 1, 'b': 2, 'c': 3}

locals()函数会以字典类型返回当前位置的全部局部变量,看着很符合现在的需求:

def func2(a, b, c):
    d = 'local_d'
    return locals()

res = func2(1, 2, 3)
print(res)
# 结果:
# {'d': 'local_d', 'c': 3, 'b': 2, 'a': 1}

想着很好,但是实际用的时候,最后会把函数内部其他变量也返回。不完美,只想要入参的字典。
最后机制的小伙伴想到了,其实还是上面的方法:

def func3(a, b, c):
    kwargs = locals()
    d = 'local_d'
    return kwargs

res = func3(1, 2, 3)
print(res)
# 结果
# {'c': 3, 'b': 2, 'a': 1}

其实就是在函数的开始,其他变量还没有出现的时候,就想把当前的locals()取出来,等到最后再返回。完美!


标题名称:python获取函数所有入参的key-value
标题链接:http://bzwzjz.com/article/jpjcoi.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都网站建设公司 成都网站建设 手机网站制作 手机网站建设 成都网站制作 网站建设公司 手机网站建设 定制网站建设 企业网站建设 成都网站建设 网站制作 专业网站设计 企业网站设计 高端网站设计 成都网站建设 自适应网站建设 成都网站制作 网站制作报价 成都网站设计 成都响应式网站建设公司 成都营销网站建设 成都网站建设推广