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实现ip查询示例
Mar 26 Python
Python中文编码那些事
Jun 25 Python
python3解析库lxml的安装与基本使用
Jun 27 Python
python matlibplot绘制多条曲线图
Feb 19 Python
Pandas之groupby( )用法笔记小结
Jul 23 Python
Python定时从Mysql提取数据存入Redis的实现
May 03 Python
Python3 Tensorlfow:增加或者减小矩阵维度的实现
May 22 Python
Matplotlib中%matplotlib inline如何使用
Jul 28 Python
Python读写压缩文件的方法
Jul 30 Python
Python模拟登录requests.Session应用详解
Nov 17 Python
快速创建python 虚拟环境
Nov 28 Python
关于python中remove的一些坑小结
Jan 04 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/12/04 PHP
golang实现php里的serialize()和unserialize()序列和反序列方法详解
2018/10/30 PHP
HTML中事件触发列表与解说
2007/07/09 Javascript
JavaScript 组件之旅(三):用 Ant 构建组件
2009/10/28 Javascript
基于jquery可配置循环左右滚动例子
2011/09/09 Javascript
js选取多个或单个元素的实现代码(用class)
2012/08/22 Javascript
给ListBox添加双击事件示例代码
2013/12/02 Javascript
jquery模拟LCD 时钟的html文件源代码
2014/06/16 Javascript
45个JavaScript编程注意事项、技巧大全
2015/02/11 Javascript
jQuery实现自动切换播放的经典滑动门效果
2015/09/12 Javascript
js中scrollTop()方法和scroll()方法用法示例
2016/10/03 Javascript
javascript中的后退和刷新实现方法
2016/11/10 Javascript
详解angularJs中自定义directive的数据交互
2017/01/13 Javascript
vue2.0实战之基础入门(1)
2017/03/27 Javascript
Restify中接入Socket.io报Error:Can’t set headers的错误解决
2017/03/28 Javascript
在element-ui的el-tree组件中用render函数生成el-button的实例代码
2018/11/05 Javascript
Easyui 去除jquery-easui tab页div自带滚动条的方法
2019/05/10 jQuery
python操作xml文件详细介绍
2014/06/09 Python
利用python批量检查网站的可用性
2016/09/09 Python
Django rest framework工具包简单用法示例
2018/07/20 Python
在python环境下运用kafka对数据进行实时传输的方法
2018/12/27 Python
选择python进行数据分析的理由和优势
2019/06/25 Python
Python实现蒙特卡洛算法小实验过程详解
2019/07/12 Python
Python Sympy计算梯度、散度和旋度的实例
2019/12/06 Python
Django自定义全局403、404、500错误页面的示例代码
2020/03/08 Python
推荐值得学习的12款python-web开发框架
2020/08/10 Python
python3.5的包存放的具体路径
2020/08/16 Python
应届大学生求职的自我评价
2013/11/17 职场文书
幼儿园毕业教师感言
2014/02/21 职场文书
护士演讲稿优秀范文
2014/04/30 职场文书
项目经理任命书范本
2014/06/05 职场文书
试用期转正后的自我评价
2014/09/21 职场文书
民主生活会批评与自我批评总结
2014/10/17 职场文书
2015年度酒店客房部工作总结
2015/05/25 职场文书
Redis如何实现分布式锁
2021/08/23 Redis
JS中如何优雅的使用async await详解
2021/10/05 Javascript