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调用shell的方法
Nov 20 Python
python BeautifulSoup设置页面编码的方法
Apr 03 Python
python使用正则表达式匹配字符串开头并打印示例
Jan 11 Python
分享几道你可能遇到的python面试题
Jul 24 Python
python 简单搭建阻塞式单进程,多进程,多线程服务的实例
Nov 01 Python
Python爬虫实例_城市公交网络站点数据的爬取方法
Jan 10 Python
python3 发送任意文件邮件的实例
Jan 23 Python
Python打印输出数组中全部元素
Mar 13 Python
python算法题 链表反转详解
Jul 02 Python
python3 深浅copy对比详解
Aug 12 Python
pytorch-RNN进行回归曲线预测方式
Jan 14 Python
在TensorFlow中实现矩阵维度扩展
May 22 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 身份证号验证函数
2009/05/07 PHP
如何使用php绘制在图片上的正余弦曲线
2013/06/08 PHP
PHP单例模式数据库连接类与页面静态化实现方法
2019/03/20 PHP
php数组遍历类与用法示例
2019/05/24 PHP
摘自启点的main.js
2008/04/20 Javascript
JavaScript是否可实现多线程  深入理解JavaScript定时机制
2009/12/22 Javascript
jquery实现居中弹出层代码
2010/08/25 Javascript
JavaScript ( (__ = !$ + $)[+$] + ({} + $)[_/_] +({} + $)[_/_] )
2011/02/25 Javascript
mailto的使用技巧分享
2012/12/21 Javascript
延时加载JavaScript代码提高速度
2015/12/27 Javascript
三种Node.js写文件的方式
2016/03/08 Javascript
深入对Vue.js $watch方法的理解
2017/03/20 Javascript
NodeJs实现定时任务的示例代码
2017/12/05 NodeJs
vue动态注册组件实例代码详解
2019/05/30 Javascript
JS数组方法shift()、unshift()用法实例分析
2020/01/18 Javascript
[01:14]英雄,所敬略同——2018完美盛典宣传视频4K
2018/12/05 DOTA
windows下Virtualenvwrapper安装教程
2017/12/13 Python
jupyter notebook引用from pyecharts.charts import Bar运行报错
2020/04/23 Python
在python win系统下 打开TXT文件的实例
2018/04/29 Python
python 实现批量xls文件转csv文件的方法
2018/10/23 Python
详解Python中打乱列表顺序random.shuffle()的使用方法
2019/11/11 Python
如何通过python实现全排列
2020/02/11 Python
eBay瑞士购物网站:eBay.ch
2018/12/24 全球购物
什么是WEB控件?使用WEB控件有哪些优势?
2012/01/21 面试题
战友聚会邀请函
2014/01/18 职场文书
数控技术专业毕业自荐书范文
2014/02/05 职场文书
检查接待方案
2014/02/27 职场文书
《每逢佳节倍思亲》教后反思
2014/04/19 职场文书
捐款感谢信
2015/01/20 职场文书
2015小学音乐教师个人工作总结
2015/07/21 职场文书
2015年文秘个人工作总结
2015/10/14 职场文书
小学生反邪教心得体会
2016/01/15 职场文书
vue使用v-model进行跨组件绑定的基本实现方法
2021/04/28 Vue.js
Nginx location 和 proxy_pass路径配置问题小结
2021/09/04 Servers
OpenStack虚拟机快照和增量备份实现方法
2022/04/04 Servers
Redis批量生成数据的实现
2022/06/05 Redis