zoukankan      html  css  js  c++  java
  • python 函数关键参数

    一个朋友问我的问题:

    我在学习python过程有各小问题,请您帮着解答:

    我在交互模式中写了个函数
    def adder(**args):
    sum=0
    for x in args.keys():
    sum+=args[x]
    return sum

    随后调用,在交互模式中输入 adder({'a':1,'b':2,'c':3})
    为什么结果不是我所预期的求和呢? 而是报错。Traceback (most recent call last):
    File "<pyshell#22>", line 1, in
    adder({'a':1,'b':2,'c':3})
    TypeError: adder() takes exactly 0 arguments (1 given)

    按我的理解,函数adder开头的**args参数应该会收集后面所有的参数才是啊? 不知道哪里理解错了,请你帮着解答,谢谢

    解决办法:

    def adder(**args):
    print args
    sum=0
    for x in args.keys():
    sum+=args[x]
    return sum

    adder(a=1,b=2,c=3)

    改成这样就可以了。

    正如这个朋友说的一样,**args参数会收集关键词参数,但是传过去的函数参数应该是类似a=1这样类似的,而不是一个字典,但是在函数内部,可以看做一个字典,比如print args输出的参数。希望通过这个例子,对大家理解python 函数关键参数有帮助。
    如果想要了解更多python 函数的话,可以看看python 函数返回值

    文章链接:http://www.cnpythoner.com/post/pythonguanjian.html 转载请保留,谢谢!

  • 相关阅读:
    团队会议第八天
    团队会议第七天
    站立会议第五天
    站立会议第四天
    站立会议第三天
    站立会议第二天
    站立会议第一天(2016.4.19)
    团队报告
    团队计划backlog
    每日Scrum(5)
  • 原文地址:https://www.cnblogs.com/wanpython/p/2794327.html
Copyright © 2011-2022 走看看