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多线程下的变量问题
Apr 28 Python
使用Python脚本实现批量网站存活检测遇到问题及解决方法
Oct 11 Python
python实现随机梯度下降(SGD)
Mar 24 Python
django连接mysql配置方法总结(推荐)
Aug 18 Python
Windows 64位下python3安装nltk模块
Sep 19 Python
使用Python横向合并excel文件的实例
Dec 11 Python
分享8个非常流行的 Python 可视化工具包
Jun 05 Python
Django 开发调试工具 Django-debug-toolbar使用详解
Jul 23 Python
python numpy存取文件的方式
Apr 01 Python
python3实现在二叉树中找出和为某一值的所有路径(推荐)
Dec 26 Python
Python3中configparser模块读写ini文件并解析配置的用法详解
Feb 18 Python
浅谈Python协程asyncio
Jun 20 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获取本周,上周,本月,上月,本季度日期的代码
2009/08/05 PHP
php数组的概述及分类与声明代码演示
2013/02/26 PHP
php输入流php://input使用示例(php发送图片流到服务器)
2013/12/25 PHP
PHP中FTP相关函数小结
2016/07/15 PHP
基于JQuery的浮动DIV显示提示信息并自动隐藏
2011/02/11 Javascript
jQuery登陆判断简单实现代码
2013/04/21 Javascript
javascript获得网页窗口实际大小的示例代码
2013/09/21 Javascript
js中回调函数的学习笔记
2014/07/31 Javascript
JS+Canvas绘制时钟效果
2020/08/20 Javascript
javascript运算符语法全面概述
2016/07/14 Javascript
bootstrap flask登录页面编写实例
2016/11/01 Javascript
详解JSON1:使用TSQL查询数据和更新JSON数据
2016/11/21 Javascript
JavaScript数组和对象的复制
2017/03/21 Javascript
JavaScript之RegExp_动力节点Java学院整理
2017/06/29 Javascript
vue2.0获取鼠标位置的方法
2018/09/13 Javascript
解决betterScroll在vue中存在图片时,出现拉不动的问题
2018/09/27 Javascript
vue router 组件的高级应用实例代码
2019/04/08 Javascript
Vue数据双向绑定底层实现原理
2019/11/22 Javascript
[00:55]深扒TI7聊天轮盘语音出处3
2017/05/11 DOTA
Python实现Linux的find命令实例分享
2017/06/04 Python
利用aardio给python编写图形界面
2017/08/21 Python
django模板结构优化的方法
2019/02/28 Python
Python中的异常处理try/except/finally/raise用法分析
2019/02/28 Python
python opencv摄像头的简单应用
2019/06/06 Python
python图形开发GUI库pyqt5的详细使用方法及各控件的属性与方法
2020/02/14 Python
python实现UDP协议下的文件传输
2020/03/20 Python
django 数据库 get_or_create函数返回值是tuple的问题
2020/05/15 Python
基于python实现计算两组数据P值
2020/07/10 Python
百思买美国官网:Best Buy
2016/07/28 全球购物
Capitol Lighting的1800lighting.com:住宅和商业照明
2019/04/10 全球购物
Linux如何压缩可执行文件
2014/03/27 面试题
个人教师自我评价范文
2013/12/02 职场文书
通用求职信范文模板分享
2013/12/27 职场文书
行政助理岗位职责
2015/02/10 职场文书
撤诉申请书法院范本
2015/05/18 职场文书
【海涛教你打DOTA】死灵飞龙第一视角解说
2022/04/01 DOTA