python函数参数*args**kwargs用法实例


Posted in Python onDecember 04, 2013
#coding=utf8
__author__ = 'Administrator'
# 当函数的参数不确定时,可以使用*args和**kwargs。*args没有key值,**kwargs有key值
def fun_var_args(farg, *args):
    print 'args:', farg
    for value in args:
        print 'another arg:',value
# *args可以当作可容纳多个变量组成的list或tuple
fun_var_args(1, 'two', 3, None)
#args: 1
#another arg: two
#another arg: 3
#another arg: None

def fun_var_kwargs(farg, **kwargs):
    print 'args:',farg
    for key in kwargs:
        print 'another keyword arg:%s:%s' % (key, kwargs[key])
# myarg1,myarg2和myarg3被视为key, 感觉**kwargs可以当作容纳多个key和value的dictionary
fun_var_kwargs(1, myarg1='two', myarg2=3, myarg3=None)
# 输出:
#args: 1
#another keyword arg:myarg1:two
#another keyword arg:myarg2:3
#another keyword arg:myarg3:None
def fun_args(arg1, arg2, arg3):
    print 'arg1:', arg1
    print 'arg2:', arg2
    print 'arg3:', arg3
myargs = ['1', 'two', None]     # 定义列表
fun_args(*myargs)
# 输出:
#arg1: 1
#arg2: two
#arg3: None
mykwargs = {'arg1': '1', 'arg2': 'two', 'arg3': None}      # 定义字典类型
fun_args(**mykwargs)
# 输出:
#arg1: 1
#arg2: two
#arg3: None
# 两者都有
def fun_args_kwargs(*args, **kwargs):
    print 'args:', args
    print 'kwargs:', kwargs

args = [1, 2, 3, 4]
kwargs = {'name': 'BeginMan', 'age': 22}
fun_args_kwargs(args,kwargs)
# args: ([1, 2, 3, 4], {'age': 22, 'name': 'BeginMan'})
# kwargs: {}
fun_args_kwargs(1,2,3,a=100)
#args: (1, 2, 3)
#kwargs: {'a': 100}
fun_args_kwargs(*(1,2,3,4),**{'a':None})
#args: (1, 2, 3, 4)
#kwargs: {'a': None}
 

 

Python 相关文章推荐
Python抓取Discuz!用户名脚本代码
Dec 30 Python
CentOS中使用virtualenv搭建python3环境
Jun 08 Python
python 微信好友特征数据分析及可视化
Jan 07 Python
python GUI库图形界面开发之PyQt5复选框控件QCheckBox详细使用方法与实例
Feb 28 Python
Python 批量读取文件中指定字符的实现
Mar 06 Python
python求前n个阶乘的和实例
Apr 02 Python
Python新手学习标准库模块命名
May 29 Python
Anaconda的安装与虚拟环境建立
Nov 18 Python
pycharm 使用anaconda为默认环境的操作
Feb 05 Python
Pytest之测试命名规则的使用
Apr 16 Python
pandas进行数据输入和输出的方法详解
Mar 23 Python
Pandas实现批量拆分与合并Excel的示例代码
May 30 Python
Mac OS X10.9安装的Python2.7升级Python3.3步骤详解
Dec 04 #Python
Python Web框架Pylons中使用MongoDB的例子
Dec 03 #Python
python将xml xsl文件生成html文件存储示例讲解
Dec 03 #Python
python使用reportlab画图示例(含中文汉字)
Dec 03 #Python
python33 urllib2使用方法细节讲解
Dec 03 #Python
python使用mysqldb连接数据库操作方法示例详解
Dec 03 #Python
二种python发送邮件实例讲解(python发邮件附件可以使用email模块实现)
Dec 03 #Python
You might like
《PHP编程最快明白》第五讲:php目录、文件操作
2010/11/01 PHP
遍历指定目录下的所有目录和文件的php代码
2011/11/27 PHP
phpmail类发送邮件函数代码
2012/02/20 PHP
浅析php中常量,变量的作用域和生存周期
2013/08/10 PHP
php微信公众开发之获取周边酒店信息的方法
2014/12/22 PHP
php PDO属性设置与操作方法分析
2018/12/27 PHP
Javascript 的addEventListener()及attachEvent()区别分析
2009/05/21 Javascript
javascript预加载图片、css、js的方法示例介绍
2013/10/14 Javascript
使用jquery.upload.js实现异步上传示例代码
2014/07/29 Javascript
javascript二维数组转置实例
2015/01/22 Javascript
jQuery实现渐变下拉菜单的简单方法
2015/03/11 Javascript
基于jQuery实现的仿百度首页滑动选项卡效果代码
2015/11/16 Javascript
微信小程序  http请求封装详解及实例代码
2017/02/15 Javascript
使用vue.js编写蓝色拼图小游戏
2017/03/17 Javascript
layui 监听select选择 获取当前select的ID名称方法
2019/09/24 Javascript
vue3.0实现点击切换验证码(组件)及校验
2020/11/18 Vue.js
Python 除法小技巧
2008/09/06 Python
python 用下标截取字符串的实例
2018/12/25 Python
python实现两个经纬度点之间的距离和方位角的方法
2019/07/05 Python
python多线程案例之多任务copy文件完整实例
2019/10/29 Python
python闭包、深浅拷贝、垃圾回收、with语句知识点汇总
2020/03/11 Python
Python PyQt5整理介绍
2020/04/01 Python
如何理解Python中的变量
2020/06/01 Python
Python txt文件常用读写操作代码实例
2020/08/03 Python
在对linux系统分区进行格式化时需要对磁盘簇(或i节点密度)的大小进行选择,请说明选择的原则
2012/01/13 面试题
参观监狱心得体会
2014/01/02 职场文书
现场施工员岗位职责
2014/03/10 职场文书
普通党员个人剖析材料
2014/10/08 职场文书
政风行风评议工作总结
2014/10/21 职场文书
工商局所长四风自我剖析及整改措施
2014/10/26 职场文书
工作失误检讨书
2015/01/26 职场文书
后勤工作个人总结
2015/02/28 职场文书
项目技术负责人岗位职责
2015/04/13 职场文书
干部外出学习心得体会
2016/01/18 职场文书
剑指Offer之Java算法习题精讲二叉树的构造和遍历
2022/03/21 Java/Android
解决 redis 无法远程连接
2022/05/15 Redis