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 "", 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 函数返回值。

如果你是初学者,建议看一下最基本的Python知识:什么是函数?以及函数的定义

python编程语言 函数的形参的更多相关文章

  1. 孤荷凌寒自学python第十七天初识Python的函数

    孤荷凌寒自学python第十七天初识Python的函数 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 函数是能够完成指定运算并返回运算结果的代码块.是结构化编程重要的结构. 我首先发现pyt ...

  2. python的函数参数传递方式

    python的一切数据类型都是对象.但是python的对象分为不可变对象和可变对象.python的变量是引用,对python变量的赋值是引用去绑定该对象. 可变对象的数据发生改变,例如列表和字典,引用 ...

  3. python学习第三十天函数的形参,实参及函数文档

    python函数的形参是定义函数def 函数名 小括号里面的变量,实参是调用函数时候的值,函数文档是提供函数功能的开发文档,下面 详细说明系列方法 1,函数的形参 def chan(name): pr ...

  4. python的函数

    函数一词起源于数学,但是在编程中的函数和数学中的有很大不同.编程中的函数式组织好的,可重复使用的,用于实现单一功能或相关联功能的代码块. 我们在学习过程中已经使用过一些python内建的函数,如pri ...

  5. Python之函数与变量

    本节内容 函数介绍及其作用 函数的定义与调用 函数的参数说明 全局变量与局部变量 值传递和引用传递 一.函数的介绍及其作用 编程语言中的函数与数学中的函数是有区别的:数学中的函数有参数(输入),就会有 ...

  6. Python基础-函数篇

    本节内容 1. 函数基本语法及特性 2. 参数与局部变量 3. 返回值 嵌套函数 4.递归 5.匿名函数 6.函数式编程介绍 7.高阶函数 8.内置函数  函数与函数式编程 1.面向对象: 华山派-- ...

  7. python基础-函数(9)

    一.函数的介绍 如果在开发程序时,需要某块代码多次,但是为了提高编写的效率以及代码的重用,所以把具有独立功能的代码块组织为一个小模块,这就是函数 函数的语法格式: def 函数名(): 函数的功能代码 ...

  8. python 06函数

    python中函数定义方法: def test(x): "The function definitions" x+=1 return x def:定义函数的关键字test:函数名( ...

  9. 【转】Python之函数与变量

    [转]Python之函数与变量 本节内容 函数介绍及其作用 函数的定义与调用 函数的参数说明 变量与作用域 值传递和引用传递 一.函数的介绍及其作用 编程语言中的函数与数学中的函数是有区别的:数学中的 ...

随机推荐

  1. 获取用户ip接口

    <script type="text/javascript" charset="gb2312" src="http://counter.sina ...

  2. 学习笔记之Python

    http://baike.baidu.com/view/21087.htm?fr=aladdin#reference-[12]-21087-wrap Python 基础教程(http://www.w3 ...

  3. Views

    Views Views are the visual side of the Nova, they are the HTML output of the pages. Views can be loc ...

  4. python--字典工厂函数dict()

    dic = {"name" : "wangmo" ,"age" : 18} #dic.clear() #清空字典 print(dic) #{ ...

  5. iOS 网络编程:JSON解析

    @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...

  6. Java项目打包在CMD或者Linux下运行

    Java项目打包在CMD或者Linux下运行 1.在CMD下运行 在eclipse中将项目export成jar包,然后用压缩软件解压

  7. 【运维】使用FC命令辅助查杀DLL木马

    使用FC命令辅助查杀DLL木马 在windows系统中,system32目录下是木马隐身的好地方,查找起来非常困难,许多木马都削尖了脑袋往那里钻,DLL木马也不例外.针对这一点用户可以在安装好系统和必 ...

  8. 【转】做产品VS做项目

    相关定义 根据GB/T19000—2008<质量管理体系基础和术语>,有以下定义 过程process 一组将输入转化为输出的相互关联或相互作用的活动 注:一个过程的输入通常是其他过程的输出 ...

  9. 【转】Monkeyrunner测试1——Monkeyrunner的使用

    Monkeyrunner的使用 一.终端输入单行命令行实现 1. 开启android 模拟器 (1) 用Eclipse打开andorid的模拟器 (2) 在CMD中用andorid命令打开模拟器 定位 ...

  10. dede版权信息修改

    login:dede-templets-login.htm 系统主页:dede-templets-index2.htm 主体内容在index_body.htm文件   干掉: $(function() ...