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将mdb数据库文件导入postgresql数据库示例
Feb 17 Python
Python中的异常处理相关语句基础学习笔记
Jul 11 Python
ubuntu中配置pyqt4环境教程
Dec 27 Python
Python中的heapq模块源码详析
Jan 08 Python
Python实现计算字符串中出现次数最多的字符示例
Jan 21 Python
django2.0扩展用户字段示例
Feb 13 Python
Python实现TCP通信的示例代码
Sep 09 Python
python numpy存取文件的方式
Apr 01 Python
调用其他python脚本文件里面的类和方法过程解析
Nov 15 Python
Django框架反向解析操作详解
Nov 28 Python
Python加载数据的5种不同方式(收藏)
Nov 13 Python
yolov5返回坐标的方法实例
Mar 17 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
phpMyAdmin出现无法载入 mcrypt 扩展,请检查PHP配置的解决方法
2012/03/26 PHP
php变量与数组相互转换的方法(extract与compact)
2016/12/02 PHP
PHP正则+Snoopy抓取框架实现的抓取淘宝店信誉功能实例
2017/05/17 PHP
解放web程序员的输入验证
2006/10/06 Javascript
一个加密JavaScript的开源工具PACKER2.0.2
2006/11/04 Javascript
javascript打印输出json实例
2013/11/11 Javascript
jQuery插件Zclip实现完美兼容个浏览器点击复制内容到剪贴板
2015/04/30 Javascript
JavaScript检测鼠标移动方向的方法
2015/05/22 Javascript
Angular 理解module和injector,即依赖注入
2016/09/07 Javascript
原生js图片轮播效果实现代码
2016/10/19 Javascript
微信小程序开发之实现自定义Toast弹框
2017/06/08 Javascript
node实现定时发送邮件的示例代码
2017/08/26 Javascript
node.js学习之事件模块Events的使用示例
2017/09/28 Javascript
vue组件中使用iframe元素的示例代码
2017/12/13 Javascript
详解webpack4之splitchunksPlugin代码包分拆
2018/12/04 Javascript
原生JS实现的放大镜特效示例【测试可用】
2018/12/08 Javascript
Echarts地图添加引导线效果(labelLine)
2019/09/30 Javascript
vue实现从外部修改组件内部的变量的值
2020/07/30 Javascript
[41:52]2018DOTA2亚洲邀请赛3月29日小组赛B组Effect VS Secret
2018/03/30 DOTA
python计数排序和基数排序算法实例
2014/04/25 Python
Python bsddb模块操作Berkeley DB数据库介绍
2015/04/08 Python
Python通过poll实现异步IO的方法
2015/06/04 Python
python中yaml配置文件模块的使用详解
2018/04/27 Python
Python日期时间模块datetime详解与Python 日期时间的比较,计算实例代码
2018/09/14 Python
python读取txt文件并取其某一列数据的示例
2019/02/19 Python
对python中基于tcp协议的通信(数据传输)实例讲解
2019/07/22 Python
Python爬虫学习之翻译小程序
2019/07/30 Python
Python使用python-docx读写word文档
2019/08/26 Python
解析Python3中的Import
2019/10/13 Python
python3实现从kafka获取数据,并解析为json格式,写入到mysql中
2019/12/23 Python
使用Python发现隐藏的wifi
2020/03/04 Python
在keras中对单一输入图像进行预测并返回预测结果操作
2020/07/09 Python
党员入党表决心的话
2014/03/11 职场文书
幼教求职信
2014/03/12 职场文书
民族团结先进集体事迹材料
2014/05/22 职场文书
2014年国庆标语
2014/06/30 职场文书