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 random模块(获取随机数)常用方法和使用例子
May 13 Python
以windows service方式运行Python程序的方法
Jun 03 Python
Python读取键盘输入的2种方法
Jun 16 Python
Python使用装饰器进行django开发实例代码
Feb 06 Python
Python2中文处理纪要的实现方法
Mar 10 Python
对Tensorflow中的矩阵运算函数详解
Jul 27 Python
解决使用export_graphviz可视化树报错的问题
Aug 09 Python
python3中datetime库,time库以及pandas中的时间函数区别与详解
Apr 16 Python
Python手拉手教你爬取贝壳房源数据的实战教程
May 21 Python
一劳永逸彻底解决pip install慢的办法
May 24 Python
Python Flask请求扩展与中间件相关知识总结
Jun 11 Python
Python实现学生管理系统(面向对象版)
Jun 24 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中防止伪造跨站请求的小招式
2011/09/02 PHP
表格展示无限级分类(PHP版)
2012/08/21 PHP
新手菜鸟必读:session与cookie的区别
2013/08/22 PHP
PHP实现的策略模式示例
2019/03/20 PHP
JavaScript中的其他对象
2008/01/16 Javascript
javascript 使用 NodeList需要注意的问题
2013/03/04 Javascript
js实现拉伸拖动iframe的具体代码
2013/08/03 Javascript
jquery实现效果比较好的table选中行颜色
2014/03/25 Javascript
火狐下input焦点无法重复获取问题的解决方法
2014/06/16 Javascript
node.js中的console.time方法使用说明
2014/12/09 Javascript
Javascript中内建函数reduce的应用详解
2016/10/20 Javascript
微信小程序开发之选项卡(窗口底部TabBar)页面切换
2017/04/12 Javascript
Vue自定义指令详解
2017/07/28 Javascript
[04:26]DOTA2上海特锦赛小组赛第二日 TOP10精彩集锦
2016/02/27 DOTA
[57:24]LGD vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[01:06:59]完美世界DOTA2联赛PWL S2 Magma vs FTD 第一场 11.29
2020/12/02 DOTA
Python中的各种装饰器详解
2015/04/11 Python
Python常用小技巧总结
2015/06/01 Python
Python中线程编程之threading模块的使用详解
2015/06/23 Python
Python基于sftp及rsa密匙实现远程拷贝文件的方法
2016/09/21 Python
Python使用Selenium模块模拟浏览器抓取斗鱼直播间信息示例
2018/07/18 Python
python获取当前文件路径以及父文件路径的方法
2019/07/10 Python
Python文本文件的合并操作方法代码实例
2020/03/31 Python
使用canvas绘制超炫时钟
2014/12/17 HTML / CSS
小学教师岗位职责
2013/11/25 职场文书
我爱我校演讲稿
2014/05/21 职场文书
基层党建工作宣传标语
2014/06/24 职场文书
小学领导班子对照材料
2014/08/23 职场文书
2014年民警工作总结
2014/11/25 职场文书
2014年英语教师工作总结
2014/12/03 职场文书
小学六年级毕业感言
2015/07/30 职场文书
党性修养心得体会2016
2016/01/21 职场文书
教你使用Python pypinyin库实现汉字转拼音
2021/05/27 Python
详解python网络进程
2021/06/15 Python
深入理解python协程
2021/06/15 Python
Python Matplotlib绘制动画的代码详解
2022/05/30 Python