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爬取Coursera课程资源的详细过程
Nov 04 Python
Python 加密的实例详解
Oct 09 Python
让代码变得更易维护的7个Python库
Oct 09 Python
python实现AES加密解密
Mar 28 Python
Python 网络编程之UDP发送接收数据功能示例【基于socket套接字】
Oct 11 Python
Python中zip()函数的解释和可视化(实例详解)
Feb 16 Python
python中selenium库的基本使用详解
Jul 31 Python
python dict如何定义
Sep 02 Python
Pytest单元测试框架如何实现参数化
Sep 05 Python
浅析python函数式编程
Sep 26 Python
python 实现全球IP归属地查询工具
Dec 18 Python
python工具——Mimesis的简单使用教程
Jan 16 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
饭制《星际争霸》Mod:优化游戏机制 增加新单位
2017/07/02 星际争霸
十天学会php之第七天
2006/10/09 PHP
解析php二分法查找数组是否包含某一元素
2013/05/23 PHP
PHP计算日期相差天数实例分析
2016/02/23 PHP
通过jQuery打造支持汉字,拼音,英文快速定位查询的超级select插件
2010/06/18 Javascript
jQuery EasyUI 的EasyLoader功能介绍
2010/09/12 Javascript
js控制frameSet示例
2013/09/10 Javascript
addEventListener 的用法示例介绍
2014/05/07 Javascript
JavaScript控制按钮可用或不可用的方法
2015/04/03 Javascript
使用Node.js为其他程序编写扩展的基本方法
2015/06/23 Javascript
Javascript 基础---Ajax入门必看
2016/07/06 Javascript
jquery轮播的实现方式 附完整实例
2016/07/28 Javascript
AngularJS在IE下取数据总是缓存问题的解决方法
2016/08/05 Javascript
原生JS+CSS实现炫酷重力模拟弹跳系统的登录页面
2017/11/01 Javascript
vue组件生命周期详解
2017/11/07 Javascript
详解使用create-react-app快速构建React开发环境
2018/05/16 Javascript
Node.js Buffer用法解读
2018/05/18 Javascript
Vue axios全局拦截 get请求、post请求、配置请求的实例代码
2018/11/28 Javascript
小程序封装路由文件和路由方法(5种全解析)
2019/05/26 Javascript
Vue实现开关按钮拖拽效果
2020/09/22 Javascript
python爬虫实现教程转换成 PDF 电子书
2017/02/19 Python
用Python实现KNN分类算法
2017/12/22 Python
Python多版本开发环境管理工具介绍
2019/07/03 Python
python批量修改xml属性的实现方式
2020/03/05 Python
Python-openCV开运算实例
2020/07/05 Python
Cotton On南非:澳洲时尚平价品牌
2018/06/28 全球购物
阿里巴巴美国:Alibaba美国
2019/11/24 全球购物
学前教育求职自荐信范文
2013/12/25 职场文书
运动会解说词100字
2014/01/31 职场文书
群众路线教师自我剖析材料
2014/09/29 职场文书
防灾减灾宣传标语
2014/10/07 职场文书
民事和解协议书格式
2014/11/29 职场文书
2016年第32个教师节致辞
2015/11/26 职场文书
Docker官方工具docker-registry案例演示
2022/04/13 Servers
MySQL数据库中的锁、解锁以及删除事务
2022/05/06 MySQL
Mysql数据库group by原理详解
2022/07/07 MySQL