python中变长参数的用法举例?
来源:互联网 发布:鲁迅 梅兰芳 知乎 编辑:程序博客网 时间:2024/06/15 05:59
慎用变长参数
python支持可变长度的参数列表,可以通过*arg, **kwargs这两个特殊语法来实现。以下为变长参数使用的例子:
* 使用*args 来实现可变参数列表: *args用接受
一个包装为元组形式的参数列表来传递非关键字参数,参数个数可以随意。
def SumFun(*args): result = 0 for x in args[0:]: result += x return resultprint SumFun(2, 4)print SumFun(1,2,3,4,5)print SumFun()
- 使用**kwargs接收字典形式的关键字参数列表,其中字典的键值对分别表示不可变参数的参数名和值。
def category_table(**kwargs): for name, value in kwargs.items(): print '{0} is a kind of {1}'.format(name, value)category_table(apple='fruit', carrot='vegetable')category_table(BMW = 'Car')
- 一个函数中同时定义了普通参数,默认参数,以及上述两种形式的可变参数,那么使用情况又会是怎么样的呢?
def set_axis(x, y xlabel='x', ylable='y', *args, **kwargs): pass
- 在下列场景下适合使用可变参数
def mydecorator(fun): def new(*args, **kwargs): return fun(*args, **kwargs) return new
如果参数数目不确定,可以考虑使用变长参数。
用来实现函数的多态或者在继承情况下子类需要调用父类的某些方法的时候。
class A(object): def somefun(self, p1, p2): passclass B(A): def myfun(self, p3, *args, **kwargs): super(B, self).somefun(*args, **kwargs)
本文摘自《编写高质量代码 改善python程序的91个建议》
0 0
- python中变长参数的用法举例?
- 变长参数应用举例
- C++变长参数函数的用法(转)
- C++变长参数函数的用法(转)
- C++变长参数函数的用法(转)
- C++ 变长参数列表函数的用法
- C++ 变长参数列表函数的用法
- 关于C的变长参数的思考心得/C/C++语言中可变参数的用法
- python中的变长参数
- python 变长参数
- Java中变长参数的小例子
- C++变长参数函数的用法(转载)
- 变长参数va_list, va_start, va_arg, va_end, va_copy的用法
- 变长参数的 Tracer
- 变长参数的 Tracer
- 变长参数的 Tracer
- 变长参数的 Tracer
- 变长参数的 Tracer
- filter的使用
- HTML5 拖放(Drag 和 Drop)
- W3C标准
- ActiveMQ学习(一)--JMS及ActiveMQ
- Class.getResource和ClassLoader.getResource的区别分析
- python中变长参数的用法举例?
- 最长公共子字符串问题
- Linux达人养成(四) 命令搜索命令
- Java 拓展之调用其他语言
- 手机测试环境调试 -- 微信,Android,IOS开发使用Fiddler代理
- 标准IO与文件IO的比较
- TabLayout替换HorizontalScrollView更加简单
- 友盟第三方登录和分享
- 截图