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 相关文章推荐
flask中使用SQLAlchemy进行辅助开发的代码
Feb 10 Python
python基础教程之常用运算符
Aug 29 Python
浅谈Python黑帽子取代netcat
Feb 10 Python
使用Python写一个量化股票提醒系统
Aug 22 Python
Python + selenium + requests实现12306全自动抢票及验证码破解加自动点击功能
Nov 23 Python
windows中安装Python3.8.0的实现方法
Nov 19 Python
python实现高斯(Gauss)迭代法的例子
Nov 20 Python
python编程进阶之类和对象用法实例分析
Feb 21 Python
Python基础教程之输入输出和运算符
Jul 26 Python
浅析Python 字符编码与文件处理
Sep 24 Python
python如何进行基准测试
Apr 26 Python
Python图片检索之以图搜图
May 31 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观察者模式应用场景实例详解
2017/02/03 PHP
php中的依赖注入实例详解
2019/08/14 PHP
PHP实现文件上传操作和封装
2020/03/04 PHP
PHP优化之批量操作MySQL实例分析
2020/04/23 PHP
如何确保JavaScript的执行顺序 之jQuery.html深度分析
2011/03/03 Javascript
JQuery获取或设置ckeditor的数据(示例代码)
2013/11/15 Javascript
可插入图片的TEXT文本框
2013/12/27 Javascript
JavaScript设计模式之工厂方法模式介绍
2014/12/28 Javascript
jQuery知识点整理
2015/01/30 Javascript
原生js实现addClass,removeClass,hasClass方法
2016/04/27 Javascript
点击按钮出现60秒倒计时的简单js代码(推荐)
2016/06/07 Javascript
JS使用正则表达式过滤多个词语并替换为相同长度星号的方法
2016/08/03 Javascript
[原创]JavaScript语法高亮插件highlight.js用法详解【附highlight.js本站下载】
2016/11/01 Javascript
jQuery实现文档树效果
2017/02/20 Javascript
JavaScript如何一次性展示几万条数据
2017/03/30 Javascript
Vue + Vue-router 同名路由切换数据不更新的方法
2017/11/20 Javascript
Vue的土著指令和自定义指令实例详解
2018/02/04 Javascript
Vue点击切换颜色的方法
2018/09/13 Javascript
vue实现的网易云音乐在线播放和下载功能案例
2019/02/18 Javascript
微信小程序iBeacon测距及稳定程序的实现解析
2019/07/31 Javascript
微信小程序webSocket的使用方法
2020/02/20 Javascript
基于vue-cli3+typescript的tsx开发模板搭建过程分享
2020/02/28 Javascript
解决vue初始化项目一直停在downloading template的问题
2020/11/09 Javascript
Python单例模式实例详解
2017/03/01 Python
urllib和BeautifulSoup爬取维基百科的词条简单实例
2018/01/17 Python
mac下pycharm设置python版本的图文教程
2018/06/13 Python
python通过robert、sobel、Laplace算子实现图像边缘提取详解
2019/08/21 Python
python 单线程和异步协程工作方式解析
2019/09/28 Python
python 二维矩阵转三维矩阵示例
2019/11/30 Python
Python使用turtle库绘制小猪佩奇(实例代码)
2020/01/16 Python
python实现飞机大战项目
2020/03/11 Python
Django更新models数据库结构步骤
2020/04/01 Python
浅谈matplotlib 绘制梯度下降求解过程
2020/07/12 Python
Python制作简单的剪刀石头布游戏
2020/12/10 Python
Marlies Dekkers内衣法国官方网上商店:国际知名的荷兰内衣品牌
2019/03/18 全球购物
导游词之南京莫愁湖公园
2019/11/13 职场文书