python中args是什么意思_理解Python中的*,*args
1、*在函数调用中的作用
首先定义一个函数,并调用
deffun(a, b, c):printa, b, c
fun(1,2,3)
则该函数的输出为
1 2 3
传递3个参数调用该函数,则该函数会打印出这三个参数
接下来,创建一个3个元素的列表,并使用*进行调用
l = [1,2,3]
fun(*l)
则输出同样为
1 2 3
在这里*号的作用是,将l中的的值进行了unpack,并作为相应位置的参数传递进fun函数中。
如果使用如下代码:
l=[3,5,6,9]
fun(*l)
则会因为函数数量问题产生错误:
TypeError Traceback (most recent call last)
xxxxin ()
TypeError: fun() takes exactly3 arguments (4 given)
2、*args在函数调用中的作用
现在改变函数的定义,并进行调用
def fun(*args):printargs
fun(1)
则输出为
(1,)
或者使用任意多个参数进行调用,例如
fun(1,2,3)
这样的话,输出就是(1,2,3)
*args在函数定义中的作用是
接收所有形参后面的定位参数(positional arguments),并存储至一个元组中。所以args将会是一个元组。
如果将*args与形参进行混合,例如
def fun(a, *args):print "a is", aprint "args is", args
fun(1, 2, 3, 4)
则调用后的输出为
a is 1
args is (2, 3, 4)
我们可以看到,a被第一个位置的参数赋值为1,args接收了包含所有其他参数的tuple。
python中args是什么意思_理解Python中的*,*args相关推荐
- python中args1是什么意思_理解Python中的*,*args
1.*在函数调用中的作用 首先定义一个函数,并调用 deffun(a, b, c):printa, b, c fun(1,2,3) 则该函数的输出为 1 2 3 传递3个参数调用该函数,则该函数会打印 ...
- 什么是python语言的动态类型机制_理解Python的Dynamic typing
Python的Dynamic typing有些类似于C语言的指针,在C中,一个变量可以指向任何地址空间,在Python中,一个变量也可以指向任何type的数据对象.变量的指向可以在程序运行过程中变化, ...
- python引用传递产生的问题_理解Python中传递值和引用时出现问题
我可以看到三个基本的Python概念,它们可以为这个问题提供一些启示: 1)首先,来自可变对象的赋值,如self.foo = arg1 就像复制指针(而不是所指向的值):self.foo和{}是相同的 ...
- ios开发中计算代码运算时间_理解Unity中的优化(二):内存
内存: 内存消耗是一个关键的性能指标,尤其是在内存资源有限的平台上,比如低端移动设备. 内存消耗分析: 在Unity中诊断内存问题,Unity介绍了一款开元的可视化内存分析工具--MemoryProf ...
- python的认识_理解 Python 中的 *args 和 **kwargs
Python是支持可变参数的,最简单的方法莫过于使用默认参数,例如: def test_defargs(one, two = 2): print 'Required argument: ', one ...
- python中的元类_理解python中的元类
一,理解类也是对象 在python中类同样也是一种对象,只要使用关键字class,Python解释器在执行的时候就会创建一个对象,这个对象(类)自身拥有创建对象(类实例)的能力,这就是为什么他是一个类 ...
- python中元组_理解python中的元组
理解 python 中的元组 引言 在 Python 中元组是这样的: 元组是是这样一种数据结构:不变的或者不可改变的(简单来说不能重新赋值) .元素的有序序列.因为元组是 不变的,所以他的数值是不能 ...
- python怎么理解函数的参数_理解Python中函数的参数
定义函数的时候,我们把参数的名字和位置确定下来,函数的接口定义就完成了.对于函数的调用者来说,只需要知道如何传递正确的参数,以及函数将返回什么样的值就够了,函数内部的复杂逻辑被封装起来,调用者无需了解 ...
- python中raw是什么意思_对于Python中RawString的理解
对于Python中RawString的理解 发布于 2016-01-11 06:56:27 | 100 次阅读 | 评论: 0 | 来源: PHPERZ Python编程语言Python 是一种面向对 ...
最新文章
- elasticdump安装_elasticsearch导出、导入工具-elasticdump
- SDRAM 相关资料
- python条件表达式有哪几个_python条件表达式:多项分支,双向分支
- python if main_python中if __name__ == '__main__' :main(()
- float数据在计算机内存中的存储方法
- python外星人入侵不显示子弹_【Python】python外星人入侵,武装飞船,代码写好后,不显示子弹...
- Qml学习笔记-Repeater的基本使用
- excel公式和函数
- java自己写的网络爬虫
- 如何用 Stata 做调节中介效应检验?
- 全息投影是计算机技术吗,3D全息投影技术怎么应用在展厅的?
- 【CSDN竞赛第五期】比赛小结
- 计算勒让德符号(legendre symbol)代码实现(含运行结果)
- 网络安全工程师从0单排日记---(0)
- Inventor怎么让零件透明(但是可见)附效果图
- 配置IIS服务器环境--win10
- 随身WIFI debian安装docker
- Win7 右下角出现 Test Mode
- 完美“登录”,从去掉“注册”开始
- 新手直播带货需要注意哪些问题呢?新手直播技巧必备:国仁楠哥