day14 Python函数之可变长参数
函数参数
1.形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只在函数内部有效。函数调用结束返回主调用函数后则不能再使用该形参变量
2.实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形参。因此应预先用赋值,输入等办法使参数获得确定值

a传给了x。b传给了y。
3.位置参数和关键字(标准调用:实参与形参位置一一对应;关键字调用:位置无需固定)
#位置参数,必须一一对应,否则报错,缺一个或者多一个不行
def test1(x,y,z):
print(x)
print(y)
print(z) test1(1,3,5) 结果:
1
3
5 #关键字参数,不需要一一对应,缺一个或者多一个不行
def test1(x,y,z):
print(x)
print(y)
print(z) test1(y=1,z=3,x=5) 结果:
5
1
3
位置参数和关键字混搭
#位置参数必须在关键字参数左边
def test1(x,y,z):
print(x)
print(y)
print(z) test1(1,3,z=5)
#z=5换成y=5会报错,因为按照顺序,5会覆盖3,但是z值没有
结果:
1
3
5
4.默认参数
def handle(x,type="None"):
print(x,type) handle("hello")
handle("hi",type="how are you")
handle("ll","ii") 结果:
hello None
hi how are you
ll ii
5.参数组
**跟字典有关系
*跟列表有关系
**,*args在最后放着表示可扩展性!!!! *
def test(x,*args):
print(x)
print(x,args)
print(args)
print(args[0])
print(*args[0]) test(1,["c","v","b"],5,6,7,8) 结果:
1
1 (['c', 'v', 'b'], 5, 6, 7, 8)
(['c', 'v', 'b'], 5, 6, 7, 8)
['c', 'v', 'b']
c v b **
def test01(x,**kwargs):
print(x)
print(kwargs) test01(1,name="charon",age=10) 结果:
1
{'name': 'charon', 'age': 10} 结合:*args千万不能在后面,否则报错,位置参数必须在关键字参数前面
def test01(x,*args,**kwargs):
print(x)
print(args,args[1])
print(kwargs) test01(1,"vv",2,"bb",name="charon",age=10) 结果:
1
('vv', 2, 'bb') 2
{'name': 'charon', 'age': 10}
day14 Python函数之可变长参数的更多相关文章
- python基础语法5 函数定义,可变长参数
函数 1.什么是函数 函数就是一种工具. 可以重复调用 2.为什么要用函数 1.防止代码冗(rong)余 2.代码的可读性差 3.怎么用函数 1.定义函数-->制造工具 2.调用函数--> ...
- python学习笔记-函数与可变长参数
一.函数 1. def test(x): y=x+1 return yprint(test) #这是打印函数在内存中的地址 过程:就是没有返回值的函数 在python中过程也是函数,就算没哟返回值,也 ...
- 在Python中使用可变长参数列表
函数定义 在函数定义中使用*args和**kwargs传递可变长参数. *args用作传递非命名键值可变长参数列表(位置参数); **kwargs用作传递键值可变长参数列表 函数调用 在调用函数时,使 ...
- python中非关键字可变长参数和关键字变量参数的区别
#非关键字可变长参数 def add(*arg): return type(arg) print add() #打印结果 <type 'tuple'> #关键字变量参数 def ab ...
- python 函数可变长参数
python中的可变长参数有两种: 一种是非关键字参数(*元组),另一种是关键字参数(**字典) 非关键字可变长参数: """ 非关键字可变参数,一个星号作为元组传入函数 ...
- Noah的学习笔记之Python篇:函数“可变长参数”
Noah的学习笔记之Python篇: 1.装饰器 2.函数“可变长参数” 3.命令行解析 注:本文全原创,作者:Noah Zhang (http://www.cnblogs.com/noahzn/) ...
- Python中函数的参数传递与可变长参数
转自旭东的博客原文 Python中函数的参数传递与可变长参数 Python中传递参数有以下几种类型: (1)像C++一样的默认缺省函数 (2)根据参数名传参数 (3)可变长度参数 示例如下: (1)默 ...
- go实例—函数或方法的可变长参数
支持可变长参数列表的函数可以支持任意个传入参数,比如fmt.Println函数就是一个支持可变长参数列表的函数. 需要注意的是,可变长参数应该是函数定义的最右边的参数,即最后一个参数 package ...
- 【0809 | Day 12】可变长参数/函数的对象/函数的嵌套/名称空间与作用域
可变长参数 一.形参 位置形参 默认形参 二.实参 位置实参 关键字实参 三.可变长参数之* def func(name,pwd,*args): print('name:',name,'pwd:',p ...
随机推荐
- [PHP]算法- 判断是否为二叉搜索树的后序遍历序列的PHP实现
二叉搜索树的后序遍历序列: 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则输出Yes,否则输出No.假设输入的数组的任意两个数字都互不相同. 思路: 1.后序遍历是 左右中 ...
- IDEA出现Cannot resolve symbol "xxx"(无法解析符号)
在导入一些包的时候出现报错 1.File->Invalidate Caches/Restart 清除缓存并重启 idea2.检查pom文件中的依赖关系是否正确3.maven -> Reim ...
- Linux下查看tomcat控制台输出信息
1.进入tomcat/logs文件夹下 2.# tail -f catalina.out -f:实时刷新
- jquery绑定点击事件的三种写法
一.用jquery动态绑定点击事件的写法 部分代码: <script type="text/javascript"> $(document).ready(functio ...
- git命令详解( 二 )
这是git详解的第二篇,最近这个加班有点虚,所以文章也写的比较懒了,一到加班不得已,保温杯里泡枸杞啊,不扯了,今天我们来看看git的第二篇 这篇内容主要是git的一些远程命令 远程仓库 git clo ...
- ionic3打包不能prod的问题
在最近的项目中,我ionic3采用了懒加载,来提高性能.但是当我普通打包的时候,正常成功了,但是加上--prod的时候,就报错了. 报错如下: 大概意思就是page是声明的一部分,然后请在更高级声明之 ...
- MSSQL一种取代游标的方案
今天看到一篇文章写的自己整理记录下,据说比用游标快. DECLARE @字段1 数据类型; DECLARE @字段2 数据类型; DECLARE @TMP_WHILE_ID INT; ,),TMP_W ...
- python第二十二天-----在做作业当中............
作业 1, ATM:模拟实现一个ATM + 购物商城程序 额度 自定义实现购物商城,买东西加入 购物车,调用信用卡接口结账可以提现,手续费5%支持多账户登录支持账户间转账记录每月日常消费流水提供还款接 ...
- SQL SERVER孤立帐号的处理
Step1:查询 Use KSHR_F23 Go exec sp_change_users_login @Action='Report' Go Step2:处理 Use KSHR_F23 Go exe ...
- Linux 下查看系统当前登录用户信息
当你新登录一个主机,过着管理一个主机,这时候你就需要这些命令来进行查看了: 1. w : Show who is logged on and what they are doing. w [optio ...