Python可变参数*args和**kwargs用法实例小结


Posted in Python onApril 27, 2018

本文实例讲述了Python可变参数*args和**kwargs用法。分享给大家供大家参考,具体如下:

一句话简单概括:当函数的参数不确定的时候就需要用到*args**kwargs前者和后者的区别在于,后者引入了”可变”key的概念,而前者没有key的概念,具体看下面的使用样例和具体的解释即可:

#!usr/bin/env python
#encoding:utf-8
'''''
__Author__:沂水寒城
功能:*args 和 **kwargs
'''
def test_func1(*args):
  '''''
  *args
  当函数的参数数量不确定的时候可以使用*args,个人理解*args相当于一个大小可变地列表
  容器,有点类似于C语言中的指针,传给引用即可找到内容,在这里可以使用*+变量的形式
  来实现内容可变列表的输出
  '''
  for index, one_char in enumerate(args):
    print 'index={0}, one_char={1}'.format(index, one_char)
def test_func2(**kwargs):
  '''''
  **kwargs
  这个和上面的功能性质是一样的,只是*args没有key的概念,**kwargs加入了可变key的操作
  这个参数允许你使用未定义的参数名而不会出现KeyError
  '''
  for id_num, name in kwargs.items():
    print '{0}:{1}'.format(id_num,name)
def print_dict(one_dict):
  '''''
  直接输出字典内容
  '''
  for id_num, name in one_dict.items():
    print id_num, name
if __name__ == '__main__':
  print "三水点靠木测试结果:"
  str_list=['沂','水','寒','城','We','Are','Friends']
  str_dict={'id_num':20123456, 'name':'yishuihancheng'}
  test_func1(*str_list)
  test_func2(**str_dict)
  print '-----------------------------------------------------------'
  print_dict(str_dict)

结果如下:

三水点靠木测试结果:
index=0, one_char=沂
index=1, one_char=水
index=2, one_char=寒
index=3, one_char=城
index=4, one_char=We
index=5, one_char=Are
index=6, one_char=Friends
id_num:20123456
name:yishuihancheng
-----------------------------------------------------------
id_num 20123456
name yishuihancheng

运行结果截图:

Python可变参数*args和**kwargs用法实例小结

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python中 ? : 三元表达式的使用介绍
Oct 09 Python
Python浅拷贝与深拷贝用法实例
May 09 Python
浅析python中的分片与截断序列
Aug 09 Python
Python基于socket模块实现UDP通信功能示例
Apr 10 Python
Python中的取模运算方法
Nov 10 Python
Python实现的文轩网爬虫完整示例
May 16 Python
python中dict使用方法详解
Jul 17 Python
在Python中使用filter去除列表中值为假及空字符串的例子
Nov 18 Python
python+opencv实现车牌定位功能(实例代码)
Dec 24 Python
Python turtle画图库&&画姓名实例
Jan 19 Python
keras实现图像预处理并生成一个generator的案例
Jun 17 Python
Python实现byte转integer
Jun 03 Python
python实现对文件中图片生成带标签的txt文件方法
Apr 27 #Python
python模拟表单提交登录图书馆
Apr 27 #Python
Python 读取指定文件夹下的所有图像方法
Apr 27 #Python
python sys,os,time模块的使用(包括时间格式的各种转换)
Apr 27 #Python
python读取文件名称生成list的方法
Apr 27 #Python
python实现图书馆研习室自动预约功能
Apr 27 #Python
Python实现去除列表中重复元素的方法小结【4种方法】
Apr 27 #Python
You might like
php 5.3.5安装memcache注意事项小结
2011/04/12 PHP
PHP动态页生成静态页的3种常用方法
2014/11/13 PHP
Laravel配置全局公共函数的方法步骤
2019/05/09 PHP
php基于协程实现异步的方法分析
2019/07/17 PHP
ie和firefox中img对象区别的困惑
2006/12/27 Javascript
JavaScript表单常用验证集合
2008/01/16 Javascript
onsubmit阻止form表单提交与onclick的相关操作
2010/09/03 Javascript
使用百度地图api实现根据地址查询经纬度
2014/12/11 Javascript
详解如何在Vue2中实现组件props双向绑定
2017/03/29 Javascript
Vue + Vue-router 同名路由切换数据不更新的方法
2017/11/20 Javascript
微信小程序实现运动步数排行功能(可删除)
2018/07/05 Javascript
js实现京东秒杀倒计时功能
2019/01/21 Javascript
详解JS浏览器事件循环机制
2019/03/27 Javascript
Vue开发之watch监听数组、对象、变量操作分析
2019/04/25 Javascript
Vue 用Vant实现时间选择器的示例代码
2019/10/25 Javascript
微信公众号中的JSSDK接入及invalid signature等常见错误问题分析(全面解析)
2020/04/11 Javascript
Vue记住滚动条和实现下拉加载的完美方法
2020/07/31 Javascript
实用的 vue tags 创建缓存导航的过程实现
2020/12/03 Vue.js
uni-app 自定义底部导航栏的实现
2020/12/11 Javascript
[02:49]2014DOTA2电竞也是体育项目! 势要把荣誉带回中国!
2014/07/20 DOTA
[01:13]2015国际邀请赛线下观战现场
2015/08/08 DOTA
Python和Perl绘制中国北京跑步地图的方法
2016/03/03 Python
Django基础之Model操作步骤(介绍)
2017/05/27 Python
Python中pow()和math.pow()函数用法示例
2018/02/11 Python
Python中 传递值 和 传递引用 的区别解析
2018/02/22 Python
Django objects的查询结果转化为json的三种方式的方法
2018/11/07 Python
Python实现的企业粉丝抽奖功能示例
2019/07/26 Python
python之列表推导式的用法
2019/11/29 Python
python使用nibabel和sitk读取保存nii.gz文件实例
2020/07/01 Python
Python如何重新加载模块
2020/07/29 Python
HTML5自定义data-* data(obj)属性和jquery的data()方法的使用
2012/12/13 HTML / CSS
白兰氏健康Mall:BRAND’S
2017/11/13 全球购物
合唱兴趣小组活动总结
2014/07/10 职场文书
乌镇导游词
2015/02/02 职场文书
医药公司采购员岗位职责
2015/04/03 职场文书
vue项目中的支付功能实现(微信支付和支付宝支付)
2022/02/18 Vue.js