(注:本文部分内容摘自互联网,由于作者水平有限,不足之处,还望留言指正。)

中秋的夜,微凉,但却始终看不见月亮。

我想,它一定是害羞了,悄悄的躲到了乌云的后面。

嗯,就是这样,我真是太TM机智了。

正文:

注:《python核心编程第2版》的11.6可变长度的参数---章节中有详细介绍。

一、*args的使用方法

*args 用来将参数打包成tuple给函数体调用

例子一:

def function(*args):
print(args, type(args)) function(1)

输出结果以元组的形式展示:

例子二:

def function(x, y, *args):
print(x, y, args) function(1, 2, 3, 4, 5)

输出结果:

二、**kwargs的使用方法

**kwargs 打包关键字参数成dict给函数体调用

例子一:

def function(**kwargs):
print( kwargs, type(kwargs)) function(a=2)

输出结果以列表形式展示:

例子二:

def function(**kwargs):
print(kwargs) function(a=1, b=2, c=3)

输出结果:

注意点:参数arg、*args、**kwargs三个参数的位置必须是一定的。必须是(arg,*args,**kwargs)这个顺序,否则程序会报错。

def function(arg,*args,**kwargs):
print(arg,args,kwargs) function(6,7,8,9,a=1, b=2, c=3)

输出结果:

哎呀,写完了。

中秋节,多想,多想提一壶酒  约几个老朋友  驾一叶小船儿,

迷失在故乡江南水乡里。小舟荡清波,过万水千山。

Python中*args和**kwargs的区别的更多相关文章

  1. python 中 *args he **kwargs的区别

    ''' 一 *args 和 **kwargs 的区别? *args 表示任意个 无名参数, 类型是元祖 tuple. **kwargs 表示的是关键字的参数 传入的参数是 dict 类型. 当*和** ...

  2. python 中 *args 和 **kwargs 的区别

    在 python 中,*args 和 **kwargs 都代表 1个 或 多个 参数的意思.*args 传入tuple 类型的无名参数,而 **kwargs 传入的参数是 dict 类型.下文举例说明 ...

  3. Python中 *args 和 **kwargs 的区别

    先来看个例子: def foo(*args, **kwargs): print 'args = ', args print 'kwargs = ', kwargs print '----------- ...

  4. 【转】Python中*args和**kwargs的区别

    一.*args的使用方法 *args 用来将参数打包成tuple给函数体调用 例子一: 输出结果以元组的形式展示 def function(*args): print(args, type(args) ...

  5. python 中*args 和 **kwargs

    简单的可以理解为python 中给函数传递的可变参数,args 是 列表的形式.kwargs 是 key,value的形式,也就是python 中的字典. *args 必须出现在**kwargs 的前 ...

  6. python中*args和**kwargs学习

    *args 和 **kwargs 经常看到,但是一脸懵逼 ,今天终于有收获了 """ python 函数的入参经常能看到这样一种情况 *args 或者是 **kwargs ...

  7. Python中 *args 和 **kwargs 的含义?

    答:在python中,*args和**kwargs通常使用在函数定义里.*args 和 **kwargs 都允许你给函数传不定数量的参数,即使在定义函数的时候不知道调用者会传递几个参数.ps: *ar ...

  8. Python中*args 和**kwargs的用法

    当函数的参数不确定时,可以使用*args 和**kwargs,*args 没有key值,**kwargs有key值.还是直接来代码吧,废话少说[python] def fun_var_args(far ...

  9. Python中*args和**kwargs 的简单使用

    # 在函数定义中使用*args和kwargs传递可变长参数. *args用作传递非命名键值可变长参数列表(位置参数); kwargs用作传递键值可变长参数列表# *args表示任何多个无名参数,它是一 ...

随机推荐

  1. [APP] Android 开发笔记 002-命令行创建默认项目结构说明

    接上节:[APP] Android 开发笔记 001 4. 默认项目结构说明: 这里我使用Sublime Text 进行加载.

  2. 如何使用Jquery 引入css文件

    如何使用Jquery 引入css文件: $("head").append("<link>");var toolbarCss = $("he ...

  3. Android系统dimension单位详解

    转载请注明出处,谢谢!http://www.cnblogs.com/coding-way/p/3457878.html Android设备种类多样,要想适配好各种屏幕,理解各种屏幕数据是必须的.首先先 ...

  4. vue---进行post和get请求

    参考文档: https://www.jb51.net/article/125717.htm 使用axios <script src="https://unpkg.com/axios/d ...

  5. MySQL double 类型查询不准确的问题

    问题 有如下查询: SELECT * FROM <table-name> WHERE price > 32.99; 结果竟然包含了 32.99 的数据行. 原因 price 的类型是 ...

  6. 如何取消一个目录的git初始化

    一不小心把我的整个home目录都初始化为git仓库了,通过执行删除.git命令,可以恢复 rm -rf .git

  7. CSU 1808 - 地铁 - [最短路变形]

    题目链接:http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1808 Time limit: 5000 ms Memory limit: 13107 ...

  8. c#导出ListView中的数据到Excel表格

    1.添加组件:Microsoft.Office.Interop.Excel 步骤:右键点击“引用”--->添加引用--->COM--->Microsoft.Office.Intero ...

  9. centos7 kdump.service启动失败的解决方法

    最近接触学习使用CentOs7,命令上的确有很大变化. 加入到开机启动,可以使用下面命令来加到开机启动列表, systemctl enable xxx.service 通过下面命令可以查看有哪些是开机 ...

  10. linux报错 find: missing argument to `-exec'

    在linux下使用find命令时,报错:find: missing argument to `-exec' 具体执行命令为: find /u03 -name server.xml -exec grep ...