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的id()函数解密过程
Dec 25 Python
python实现用户登陆邮件通知的方法
Jul 09 Python
python中子类继承父类的__init__方法实例
Dec 15 Python
numpy中实现ndarray数组返回符合特定条件的索引方法
Apr 17 Python
python 文件转成16进制数组的实例
Jul 09 Python
Python 3.6 -win64环境安装PIL模块的教程
Jun 20 Python
python实现几种归一化方法(Normalization Method)
Jul 31 Python
使用Puppeteer爬取微信文章的实现
Feb 11 Python
python转化excel数字日期为标准日期操作
Jul 14 Python
Python 读取位于包中的数据文件
Aug 07 Python
python实现AHP算法的方法实例(层次分析法)
Sep 09 Python
python中pdb模块实例用法
Jan 15 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
无线电广播的开始
2002/01/30 无线电
我的论坛源代码(一)
2006/10/09 PHP
php 无限级 SelectTree 类
2009/05/19 PHP
PHP安全防范技巧分享
2011/11/03 PHP
PHP实现的通过参数生成MYSQL语句类完整实例
2016/04/11 PHP
yii2.0数据库迁移教程【多个数据库同时同步数据】
2016/10/08 PHP
Centos7 Yum安装PHP7.2流程教程详解
2019/07/02 PHP
js导出table数据到excel即导出为EXCEL文档的方法
2013/10/10 Javascript
jquery通过a标签删除table中的一行的代码
2013/12/02 Javascript
window.location.href中url中数据量太大时的解决方法
2013/12/23 Javascript
JS获取数组最大值、最小值及长度的方法
2015/11/24 Javascript
JS实现unicode和UTF-8之间的互相转换互转
2017/07/05 Javascript
微信小程序实现添加手机联系人功能示例
2017/11/30 Javascript
vue移动端屏幕适配详解
2019/04/30 Javascript
Vue 中如何正确引入第三方模块的方法步骤
2019/05/05 Javascript
layui table 表格上添加日期控件的两种方法
2019/09/28 Javascript
angular异步验证防抖踩坑实录
2019/12/01 Javascript
vue 实现锚点功能操作
2020/08/10 Javascript
[00:17]天涯墨客一技能展示
2018/08/25 DOTA
使用python编写监听端
2018/04/12 Python
python 匹配url中是否存在IP地址的方法
2018/06/04 Python
python爬虫模拟浏览器访问-User-Agent过程解析
2019/12/28 Python
浅析Django中关于session的使用
2019/12/30 Python
Python获取二维数组的行列数的2种方法
2020/02/11 Python
python3中datetime库,time库以及pandas中的时间函数区别与详解
2020/04/16 Python
Book Depository澳大利亚:世界领先的专业在线书店之一
2018/12/27 全球购物
学生的自我鉴定范文
2013/10/24 职场文书
营业员个人总结的自我评价
2013/10/25 职场文书
运动会入场口号
2014/06/07 职场文书
学校领导班子群众路线整改措施
2014/09/16 职场文书
党员“四风”方面存在问题及整改措施
2014/09/24 职场文书
学生实习证明模板汇总
2014/09/25 职场文书
四风对照检查剖析材料
2014/10/07 职场文书
小爸爸观后感
2015/06/15 职场文书
公务员爱岗敬业心得体会
2016/01/25 职场文书
Python音乐爬虫完美绕过反爬
2021/08/30 Python