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爬虫之打包生成exe文件
Nov 06 Python
Python使用os模块和fileinput模块来操作文件目录
Jan 19 Python
Python实现两款计算器功能示例
Dec 19 Python
Python数据持久化shelve模块用法分析
Jun 29 Python
numpy.std() 计算矩阵标准差的方法
Jul 11 Python
python实现共轭梯度法
Jul 03 Python
Python列表(list)所有元素的同一操作解析
Aug 01 Python
django 连接数据库 sqlite的例子
Aug 14 Python
python配置文件写入过程详解
Oct 19 Python
Pytorch之parameters的使用
Dec 31 Python
2020最新pycharm汉化安装(python工程狮亲测有效)
Apr 26 Python
pandas.DataFrame.drop_duplicates 用法介绍
Jul 06 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的类 功能齐全的发送邮件类
2006/10/09 PHP
PHP新手上路(五)
2006/10/09 PHP
php 定界符格式引起的错误
2011/05/24 PHP
详解PHP实现异步调用的4种方法
2016/03/14 PHP
PHP中的日期时间处理利器实例(Carbon)
2017/06/09 PHP
理解 JavaScript 预解析
2009/10/25 Javascript
jQuery Study Notes学习笔记 (二)
2010/08/04 Javascript
Grid得到选择行数据的方法总结
2011/01/17 Javascript
js如何改变文章的字体大小
2016/01/08 Javascript
js获取所有checkbox的值的简单实例
2016/05/30 Javascript
jQuery实现页面点击后退弹出提示框的方法
2016/08/24 Javascript
jquery拼接ajax 的json和字符串拼接的方法
2017/03/11 Javascript
Vue实例中生命周期created和mounted的区别详解
2017/08/25 Javascript
浅析为什么a="abc" 不等于 a=new String("abc")
2017/10/25 Javascript
VS Code转换大小写、修改选中文字或代码颜色的方法
2017/12/15 Javascript
vue 注册组件的使用详解
2018/05/05 Javascript
如何利用@angular/cli V6.0直接开发PWA应用详解
2018/05/06 Javascript
Vue.js获取手机系统型号、版本、浏览器类型的示例代码
2020/05/10 Javascript
vuex的数据渲染与修改浅析
2020/11/26 Vue.js
JS+CSS实现过渡特效
2021/01/02 Javascript
python实现根据用户输入从电影网站获取影片信息的方法
2015/04/07 Python
Django内容增加富文本功能的实例
2017/10/17 Python
python中time包实例详解
2021/02/02 Python
物业电工岗位职责
2013/11/20 职场文书
市政施工员自我鉴定
2014/01/15 职场文书
学生宿舍管理制度
2014/01/30 职场文书
客服部工作职责范本
2014/02/14 职场文书
厨房管理计划书
2014/04/27 职场文书
社区禁毒工作方案
2014/06/02 职场文书
会计专业求职信
2014/08/10 职场文书
MBA推荐信怎么写
2015/03/25 职场文书
爱国主义教育基地观后感
2015/06/18 职场文书
导游词之天下银坑景区
2019/11/21 职场文书
vue点击弹窗自动触发点击事件的解决办法(模拟场景)
2021/05/25 Vue.js
idea搭建可运行Servlet的Web项目
2021/06/26 Java/Android
Java+swing实现抖音上的表白程序详解
2022/06/25 Java/Android