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抛出异常、自定义异常, 传递异常
Jun 20 Python
Win10下Python环境搭建与配置教程
Nov 18 Python
Python使用time模块实现指定时间触发器示例
May 18 Python
Python基于更相减损术实现求解最大公约数的方法
Apr 04 Python
Python3中的json模块使用详解
May 05 Python
完美解决Pycharm无法导入包的问题 Unresolved reference
May 18 Python
浅谈PYTHON 关于文件的操作
Mar 19 Python
python opencv摄像头的简单应用
Jun 06 Python
python基于Selenium的web自动化框架
Jul 14 Python
对Python获取屏幕截图的4种方法详解
Aug 27 Python
python中用Scrapy实现定时爬虫的实例讲解
Jan 18 Python
Django分页器的用法你都了解吗
May 26 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 COOKIE立即生效,不用刷新就可以使用
2011/03/09 PHP
做了CDN获取用户真实IP的函数代码(PHP与Asp设置方式)
2013/04/13 PHP
Nginx下配置codeigniter框架方法
2015/04/07 PHP
CentOS下搭建PHP环境与WordPress博客程序的全流程总结
2016/05/07 PHP
简单谈谈PHP中的Reload操作
2016/12/12 PHP
PHP pthreads v3使用中的一些坑和注意点分析
2020/02/21 PHP
不要小看注释掉的JS 引起的安全问题
2008/12/27 Javascript
Jquery利用mouseenter和mouseleave实现鼠标经过弹出层且可以点击
2014/02/12 Javascript
学习JavaScript设计模式之代理模式
2016/01/12 Javascript
三种AngularJS中获取数据源的方式
2016/02/02 Javascript
利用JS实现文字的聚合动画效果
2017/01/22 Javascript
JavaScript实现弹出广告功能
2017/03/30 Javascript
JavaScript代码实现txt文件的上传预览功能
2018/03/27 Javascript
Vue进度条progressbar组件功能
2018/04/17 Javascript
Vue.js 中的 v-model 指令及绑定表单元素的方法
2018/12/03 Javascript
如何解决webpack-dev-server代理常切换问题
2019/01/09 Javascript
javascript实现搜索筛选功能实例代码
2020/11/12 Javascript
[54:17]DOTA2-DPC中国联赛定级赛 RNG vs iG BO3第二场 1月10日
2021/03/11 DOTA
Python中dictionary items()系列函数的用法实例
2014/08/21 Python
手把手教你python实现SVM算法
2017/12/27 Python
Django重装mysql后启动报错:No module named ‘MySQLdb’的解决方法
2018/04/22 Python
Pandas DataFrame数据的更改、插入新增的列和行的方法
2019/06/25 Python
python如何使用socketserver模块实现并发聊天
2019/12/14 Python
keras自动编码器实现系列之卷积自动编码器操作
2020/07/03 Python
解决python pandas读取excel中多个不同sheet表格存在的问题
2020/07/14 Python
Python自动化测试中yaml文件读取操作
2020/08/20 Python
Django数据库迁移常见使用方法
2020/11/12 Python
JAVA程序员面试题
2012/10/03 面试题
高中班长自我鉴定
2013/12/20 职场文书
大学校庆邀请函
2014/01/11 职场文书
语文教学感言
2014/02/06 职场文书
个人学习党的群众路线教育实践活动心得体会
2014/11/05 职场文书
贷款工资证明范本
2015/06/12 职场文书
公司出差管理制度范本
2015/08/05 职场文书
银行中层干部培训心得体会
2016/01/11 职场文书
python数字图像处理之对比度与亮度调整示例
2022/06/28 Python