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中dictionary items()系列函数的用法实例
Aug 21 Python
python模块之sys模块和序列化模块(实例讲解)
Sep 13 Python
tensorflow建立一个简单的神经网络的方法
Feb 10 Python
python实现简单登陆流程的方法
Apr 22 Python
使用Python实现在Windows下安装Django
Oct 17 Python
基于python生成器封装的协程类
Mar 20 Python
Django 用户认证组件使用详解
Jul 23 Python
PyTorch中Tensor的数据统计示例
Feb 17 Python
Django调用百度AI接口实现人脸注册登录代码实例
Apr 23 Python
python学习将数据写入文件并保存方法
Jun 07 Python
在Python中实现字典反转案例
Dec 05 Python
python中的3种定义类方法
Nov 27 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输出一个等腰三角形的方法
2015/05/12 PHP
PHP ajax 异步执行不等待执行结果的处理方法
2015/05/27 PHP
PHP并发查询MySQL的实例代码
2017/08/09 PHP
详解laravel passport OAuth2.0的4种模式
2019/11/04 PHP
jQuery实战之仿淘宝商城左侧导航效果
2011/04/12 Javascript
php图像生成函数之间的区别分析
2012/12/06 Javascript
js触发onchange事件的方法说明
2014/03/08 Javascript
IE中的File域无法清空使用jQuery重设File域
2014/04/24 Javascript
javascript显示倒计时控制按钮的简单实现
2016/06/07 Javascript
详解AngularJs中$resource和restfu服务端数据交互
2016/09/21 Javascript
jQuery双向列表选择器select版
2016/11/01 Javascript
vue调用高德地图实例代码
2017/04/28 Javascript
利用vue.js实现被选中状态的改变方法
2018/02/08 Javascript
vue地区选择组件教程详解
2018/05/04 Javascript
jQuery简单实现的HTML页面文本框模糊匹配查询功能完整示例
2018/05/09 jQuery
jQuery实现获取多选框的值示例
2020/02/07 jQuery
vue中destroyed方法的使用说明
2020/07/21 Javascript
Python编写的com组件发生R6034错误的原因与解决办法
2013/04/01 Python
python Socket之客户端和服务端握手详解
2017/09/18 Python
Django重装mysql后启动报错:No module named ‘MySQLdb’的解决方法
2018/04/22 Python
在python中使用requests 模拟浏览器发送请求数据的方法
2018/12/26 Python
对Python 多线程统计所有csv文件的行数方法详解
2019/02/12 Python
Python实现的对本地host127.0.0.1主机进行扫描端口功能示例
2019/02/15 Python
详解pytorch 0.4.0迁移指南
2019/06/16 Python
python自动化测试之如何解析excel文件
2019/06/27 Python
Python Pandas 箱线图的实现
2019/07/23 Python
Python在OpenCV里实现极坐标变换功能
2019/09/02 Python
python装饰器相当于函数的调用方式
2019/12/27 Python
韩国爱茉莉太平洋化妆品美国站:Amore Pacific US
2016/10/28 全球购物
社团文化节策划书
2014/02/01 职场文书
2014年重阳节敬老活动方案
2014/09/16 职场文书
小学英语教学反思范文
2016/02/15 职场文书
六年级作文之关于梦
2019/10/22 职场文书
MySQL中order by的使用详情
2021/11/17 MySQL
面试分析分布式架构Redis热点key大Value解决方案
2022/03/13 Redis
MongoDB数据库部署环境准备及使用介绍
2022/03/21 MongoDB