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构建Hopfield网络的教程
Apr 14 Python
Python学生成绩管理系统简洁版
Apr 05 Python
python3.7.0的安装步骤
Aug 27 Python
在Python中pandas.DataFrame重置索引名称的实例
Nov 06 Python
Python 使用多属性来进行排序
Sep 01 Python
一行Python代码制作动态二维码的实现
Sep 09 Python
Python高阶函数、常用内置函数用法实例分析
Dec 26 Python
Tensorflow 自定义loss的情况下初始化部分变量方式
Jan 06 Python
python默认参数调用方法解析
Feb 09 Python
Python ckeditor富文本编辑器代码实例解析
Jun 22 Python
Python turtle编写简单的球类小游戏
Mar 31 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笔记之:数据类型与常量的使用分析
2013/05/14 PHP
php判断电脑访问、手机访问的例子
2014/05/10 PHP
PHP中读取照片exif信息的方法
2014/08/20 PHP
PHP实现PDO的mysql数据库操作类
2014/12/12 PHP
php通过ksort()函数给关联数组按照键排序的方法
2015/03/18 PHP
详谈PHP编码转换问题
2015/07/28 PHP
PHP正则表达式匹配替换与分割功能实例浅析
2017/02/04 PHP
JS应用正则表达式转换大小写示例
2014/09/18 Javascript
jQuery搜索同辈元素方法
2015/02/10 Javascript
asp.net+js实现金额格式化
2015/02/27 Javascript
初步认识JavaScript函数库jQuery
2015/06/18 Javascript
JavaScript实现添加、查找、删除元素
2015/07/02 Javascript
使用jquery.qrcode.min.js实现中文转化二维码
2016/03/11 Javascript
使用JS中的exec()方法构造正则表达式验证
2016/08/01 Javascript
AngularJs  unit-testing(单元测试)详解
2016/09/02 Javascript
Vue.js学习之过滤器详解
2017/01/22 Javascript
vue-resource拦截器设置头信息的实例
2017/10/27 Javascript
jQuery实现移动端笔触canvas电子签名
2020/05/21 jQuery
[28:05]完美世界DOTA2联赛循环赛Inki vs DeMonsTer 第一场 10月30日
2020/10/31 DOTA
pyspark 读取csv文件创建DataFrame的两种方法
2018/06/07 Python
Python 使用类写装饰器的小技巧
2018/09/30 Python
关于Tensorflow分布式并行策略
2020/02/03 Python
Python正则表达式学习小例子
2020/03/03 Python
tensorflow中tf.reduce_mean函数的使用
2020/04/19 Python
解决pytorch多GPU训练保存的模型,在单GPU环境下加载出错问题
2020/06/23 Python
python 19个值得学习的编程技巧
2020/08/15 Python
css3实现多个元素依次显示效果
2017/12/12 HTML / CSS
《放小鸟》教学反思
2014/04/20 职场文书
法制宣传日活动总结
2014/04/29 职场文书
大型公益活动策划方案
2014/08/20 职场文书
房产公证书
2015/01/23 职场文书
交通安全教育心得体会
2016/01/15 职场文书
演讲稿之开卷有益
2019/08/07 职场文书
教你怎么用Python生成九宫格照片
2021/05/20 Python
Python作用域和名称空间的详细介绍
2022/04/13 Python
macos系统如何实现微信双开? mac登录两个微信以上微信的技巧
2022/07/23 数码科技