1. 元组形式

def test1(*args):

    print('################test1################')
print(type(args))
print(args)

正确调用:

test1(1, 2)          #args在函数体内部为tuple类型

错误调用:

test1(1, b=2)      #TypeError: test1() got an unexpected keyword argument 'b'
test1(a=1, b=2)  #TypeError: test1() got an unexpected keyword argument 'a'
test1(a=1, 2)      #TypeError: test1() got an unexpected keyword argument 'a'

2. 字典形式

def test2(**kargs):

    print('################test2################')
print(type(kargs))
print(kargs)

正确调用:

test2(a=1, b=2)  #kargs在函数体内部为dict类型

错误调用:

test2(1, 2)          #TypeError: test2() takes exactly 0 arguments (2 given)
test2(1, b=2)      #TypeError: test2() takes exactly 0 arguments (2 given)
test2(a=1, 2)      #SyntaxError: non-keyword arg after keyword arg

3. 混合形式

def test3(*args, **kargs):

    print('################test3################')
print(type(args))
print(args)
print(type(kargs))
print(kargs

正确调用:

test3(1, 2)          #args在函数体内部为tuple类型,kargs为空dict类型
test3(1, b=2)      #args在函数体内部为tuple类型,kargs为dict类型
test3(a=1, b=2)  #args在函数体内部为空tuple类型,kargs为dict类型

错误调用:

test3(a=1, 2)      #SyntaxError: non-keyword arg after keyword arg

 练习:

 def test(num,*args,**kwargs):
print('---test1---%d' %num)
print('---test2---',args)
print('---test3---',kwargs) test(100)
test(100,200)
test(100,200,300,mm=100)

答案:

 C:\>python test.py
---test1---100
---test2--- ()
---test3--- {} ---test1---100
---test2--- (200,)
---test3--- {} ---test1---100
---test2--- (200, 300)
---test3--- {'mm': 100}

Python 不定参数函数的更多相关文章

  1. Python不定参数函数

    1. 元组形式 def test1(*args): print('################test1################') print(type(args)) print(arg ...

  2. 不定参数函数原理以及实现一个属于自己的printf函数

    一.不定参数函数原理 二.实现一个属于自己的printf函数 参考博文:王爽汇编语言综合研究-函数如何接收不定数量的参数

  3. c++不定参数函数

    不定参数当年做为C/C++语言一个特长被很多人推崇,但是实际上这种技术并没有应用很多.除了格式化输出之外,我实在没看到多少应用.主要原因是这种技术比较麻烦,副作用也比较多,而一般情况下重载函数也足以替 ...

  4. Python可变参数函数用法详解

    来自:http://c.biancheng.net/view/2257.html 很多编程语言都允许定义个数可变的参数,这样可以在调用函数时传入任意多个参数.Python 当然也不例外,Python ...

  5. python 可变参数函数定义* args和**kwargs的用法

    python函数可变参数 (Variable Argument) 的方法:使用*args和**kwargs语法.其中,*args是可变的positional arguments列表,**kwargs是 ...

  6. GO语言练习:不定参数函数

    1.代码 2.运行 1.代码 package main import "fmt" func MyPrintf(args ...interface{}){ for _, arg := ...

  7. PYTHON不定参数与__DOC__

    def total(initial = 5, *numbers, **keywords): count = initial for number in numbers: count += number ...

  8. oc自定义不定参数函数

    -(void)getValueFormConfig:(NSString *)key,... or -(void)getValueFormConfig:(NSString *)key,...NS_REQ ...

  9. UE3多参数函数实现

    基础宏定义 #define VARARG_EXTRA(A) A, #define VARARG_NONE #define VARARG_PURE =0 static inline DWORD Chec ...

随机推荐

  1. “Hello World!”团队第五周第六次会议

    “Hello World!”团队第五周第六次会议   博客内容: 一.会议时间 二.会议地点 三.会议成员 四.会议内容 五.todo list 六.会议照片 七.燃尽图 八.checkout& ...

  2. JSON toBean Timestamp To Date 时间戳转日期

    时间戳格式的时间从json转为date时 配置: import java.util.Date; import net.sf.ezmorph.object.AbstractObjectMorpher; ...

  3. Task 6.4 冲刺Two之站立会议3

    今天我参考各种聊天软件的主界面,仿照他们的形式对其中的界面和功能进行设置.重新完善了一下昨天完成的主要功能结构的框架.将各个功能按钮分别放到相应的位置,使界面看起来更加地合理,易于接受.

  4. Hibernate的使用技巧②

    1.Hibernate统计记录的数量 Criteria c = session.createCriteria(User.class.getName());        c.setProjection ...

  5. P4: Programming Protocol-Independent Packet Processors

    P4: Programming Protocol-Independent Packet Processors 摘要 P4是一门高级语言,用于编程与协议无关的数据包处理器.P4与SDN控制协议相关联,类 ...

  6. 基于Freemarker的eclipse plugin代码生成器插件开发

    固定类型的软件写多了,里面总是有一些复制粘贴改变类名改变量的基础文件,相似程度非常高.作为一名程序员,坚持不多写一行重复代码的精神,写了一个Eclipse的代码生成器插件.插件通过在xml文件中配置的 ...

  7. express和数据库(MySQL)的交互(二)

    一.安装express前面都讲了 1.express. cnpm || npm install express --save 2.中间件 a.cnpm || npm install body-pars ...

  8. js ajax 1

    var xmlHttpReq = null; //声明一个空对象用来装入XMLHttpRequest if (window.ActiveXObject){//IE5 IE6是以ActiveXObjec ...

  9. [Linux] 关于 history 命令的简单使用

    1. 如果不想记录当前 会话操作的命令的话 可以使用命令 set +o history 但是这个命令有一个坏处, 他自己被记住了... 2. 还有一个办法 就是 在退出登录之前执行命令 history ...

  10. QTime的本质上是一个int,QDateTime本质上是一个qint64

    研究这个问题的起因发现使用<=比较时间的不准确,所以怀疑是一个浮点数(Delphi里的time就是一个浮点数).结果却发现是一个int class Q_CORE_EXPORT QTime { e ...