测试了下python的可变长参数。

注意如下:

1. *对应的是元组,**对应的是dict。

所以,在设定参数的时候,可以不用*args1和**args2,而是使用args1, args2来接收。这样的好处是,可以传递多个函数的参数。如:下面定义的fuction p,就传了两对参数。

2. 使用对应元组和dict的时候,与接收相同,仍为:*args1, **args2.

3. 传递元组参数的时候,注意,单元素的元组需要额外加一个逗号,如:(args, )这样才行,否则会不认为是元组。

#!/usr/bin/python
#-*-coding:utf-8-*-
#!Author:zhujialong@letv.com
# Modified: 20160421.
import osdef f1(f1,f2,ff3=1):print "f1:",f1,"f2:",f2,"ff3:",ff3return 1 + 10*ff3def f2(f1,f2,ff3=2):print "f1:",f1,"f2:",f2,"ff3:",ff3return 1 + 10*ff3def f3(f1,f2,ff3=3):print "f1:",f1,"f2:",f2,"ff3:",ff3return 1 + 10*ff3def f4(s1,s2=100):print "s1:",s1print "s2:",s2def p1(p1,p2,f,*args1,**args2):print "p1:",p1,"p2:",p2print type(args1),args1print type(args2),args2f(*args1,**args2)def p(p1,p2,f,args1,args2, f2=None, args3=(), args4={}):print "p1:",p1,"p2:",p2print type(args1),args1print type(args2),args2print type(args3),args3print type(args4),args4f(*args1,**args2)if f2:if args4:f2(*args3,**args4)  else:f2(*args3,**args4)  #f2(*args3)#f2("ls")for f in [f1, f2, f3]:p1(1,2,f,10,f2=20,ff3=3)#p(1,2,f,(10,20),{},os.system,(str("pwd"), ))#p(1,2,f,(10,20),{"ff3":111},f4,(str("pwd")))#p(1,2,f,(10,20),{"ff3":111},f4,(10,20))#p(1,2,f,(10,20),{"ff3":111},f4,(10,))#p(1,2,f,(10,20), {})print

python的可变长参数相关推荐

  1. python基础——可变长参数

    可变长参数 在很多情况下,我们对函数计算的逻辑需求是可以同时处理不定长的多个对象,例如:想定义一个可以计算任意长度的对象相加,则需要使用可变长参数.python中使用一个星号标注可变长参数,此时,传入 ...

  2. python函数可变长参数_day14 Python函数之可变长参数

    函数参数 1.形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元.因此,形参只在函数内部有效.函数调用结束返回主调用函数后则不能再使用该形参变量 2.实参可以是常量.变量.表 ...

  3. Python中函数的参数传递与可变长参数

    1.Python中也有像C++一样的默认缺省函数 1 def foo(text,num=0): 2 print text,num 3 4 foo("asd") #asd 0 5 f ...

  4. python函数中可变参数的传递方式是_Python中函数的参数传递与可变长参数

    1.Python中也有像C++一样的默认缺省函数 1 def foo(text,num=0):2 printtext,num3 4 foo("asd") #asd 0 5 foo( ...

  5. python教程:可变长参数(*args、**kwargs)、返回值(return)

    一.可变长参数 1.默认参数: 代码如下: def information_register(name, age, country, sex):print("---注册信息---" ...

  6. PYTHON 笔记:函数的参数(关键字参数,默认参数,可变长参数,可变长的关键字参数)

    一般的函数参数是位置参数,位置不对会出问题 1.关键字参数 使用参数名提供的参数就是关键字参数,有了关键字参数,顺序就不会有影响. >>>def printGrade(name,ID ...

  7. [转载] 【python】Python中*args和**kwargs的区别(在Python中如何使用可变长参数列表)

    参考链接: Python中的*args 和 **kwargs 博客已经搬家到"捕获完成": https://www.v2python.com 或者可以叫做,在Python中如何使用 ...

  8. python可变长参数

    编程函数时, 偶尔会遇到参数数量不确定的时候, 这时候就要使用可变参数. 在python中, 提供了两种可变参数: 在形参名前加一个*, 表示接受任意多的参数 def func(*args):prin ...

  9. python中可选参数和可变参数_Python函数中的可变长参数详解

    一.Python函数中的参数 1.使用python的函数时,有参数类别,比如位置参数.关键字参数.可变长参数 2.位置参数.关键字参数很好理解,关键是可变长参数经常能见到,但是一直没有搞懂是什么意思 ...

最新文章

  1. linux系统操作常见问题(ubuntu和opensuse)
  2. 基础设施即服务系列:Windows Azure 虚拟网络概述
  3. 新站SEO优化五点注意事项!
  4. 如何在有scoped不影响elementUI 的其他页面组件,进行单页面修改的几种方法。
  5. AtCoder Beginner Contest 183 总结
  6. OpenCV——图像显示与写入
  7. ArduinoUNO实战-第十五章-液晶LCD1602实验
  8. 安装Kylin Linux Advanced Server V10操作系统
  9. git 入门笔记-基础命令
  10. 【bzoj3772】 精神污染 dfs序+主席树
  11. 币圈“作乱”拖累区块链前景,铁打的营盘或将片瓦无存
  12. 光时域反射仪的选择应该从哪些方面考虑?
  13. obj文件格式与.mtl文件格式
  14. requests/lxml的简单用例
  15. C/C++编程:默认构造函数的建构操作
  16. 一步步教你怎么用Python写贪吃蛇游戏
  17. 微软对联服务器关闭了吗,【第2编辑室】不知道你有没有玩过“微软对联”,现在他们又推出了“微软绝句”...
  18. 腾讯!网易!那些混不下去的互联网公司
  19. mapgis坡度分析_基于ArcGIS、MapGIS对岩溶石漠化与坡度的相关性分析
  20. intellij idea 设置显示空格

热门文章

  1. 剑指offer:合并两个有序的链表
  2. php cgi漏洞,CGI漏洞攻击合集上
  3. html中函数的意义,理解函数式 CSS
  4. java线程主要状态及转换_Java线程状态转换及控制
  5. linux c 多态原理,看了所谓的面向对象中靠继承多态实现的所谓重用 哥笑了
  6. python抓包教程_Python爬虫入门技能:教你通过 Fiddler 进行手机抓包!
  7. 宏碁电脑开启虚拟化技术_开启windows电脑的cpu虚拟化(VT)图文操作步骤
  8. 计算机 连接ip,连接在Internet上的计算机都拥有IP地址。
  9. android studio m1,Android Studio 4.0发布 为Android 11做好准备
  10. 解决Cannot convert a symbolic Tensor (lstm/strided_slice:0) to a numpy array.