python参数
1.形参变量和实参
形参变量:只有在被调用时才分配内存单元,在调用结束时,即释放所分配的内存单元,因此,形参只在函数内有效,函数调用结束返回主调用函数后则不能再使用该形参变量。
实参:可以是常量,变量,表达式等,无论实参是何种类型的量,在进行函数调用时,它们都必须有稳定的值,因此应预先用赋值,输入等办法使参数获得稳定值。
例:def calc(x,y):
res = x*y
return res
c= calc(a,b)
print(c)
此时x和y为形参变量,a和b为实参
2.非固定参数
#元祖形式(*args)
如果参数中出现*,传递的参数就不再是个固定的个体了,传过来的所有参数打包成一个元祖
方法一:
def send_alarm(msg,*users): #带*参数一般都用*args表示
for i in users:
print("报警",i)
send_alarm("aaa","alex","gao","hong") #此时的"alex","gao","hong"都传到了*users中
输出为:
报警",alex
报警",gao
报警",hong
#方法二:
send_alarm("aaa",*["alex","gaohui","hong"]) #此时的"alex","gaohui","hong"都传到了*user中
def alarm(msg,*user,age):
for i in user:
print("aaa",i)
alarm("aaa","alex","gaohui","hong",age=22)#当位置参数在带有*参数的后面时,实参必须要用关键参数
#元祖和字典形式
def func(name,*args,**kwargs):
print(name,args,kwargs)
func("aa",1,2,3,4)#此时1,2,3,4全部属于args元祖里面
打印结果: aa,(1,2,3,4)
func("aa",1,2,3,age=23,old="bb")#此时1,2,3属于args元祖里面,age=23,old="bb"属于kwargs字典里面
打印结果: aa,(1,2,3,4){"age"=23,"old"="bb"}
d={"degree":"primary school"}
func("aa",d)#此时d这个字典在args元祖里面
打印结果:aa,({"degree":"primary school"},)
func("aa",**d)#此时d这个字典在kwargs字典里面
打印结果:aa,(),{"degree":"primary school"}
3.关键参数
关键参数定义规则:
1.关键参数不能放在位置参数前面
print("aaa",job="python",21)此时位置参数21放在了job="python"关键参数后面,所以会报错
2.关键参数被定义了一个量以后,不能再被定义第二个量
print("aaa",age=23,21)此时关键参数已经给age赋过值,再赋21会报错
正确的方式:def introduct(name,age,job,country="cn"):
print("-----introduct-------")
print(name,age,country,job)
print("aaa",age=23,"job"="salary")
4.默认参数
def introduct(name,age,job,country="cn")
print("-----introduct-------")
print(name,age,job,country) introduct("gaohui",21,"python")
introduct("hongyan",23,"java")
introduct("gaohuiaa",23,"it","python1")
此时的country就是默认参数,默认参数必须放在非默认参数后面,当你不想要参数为默认值时,可以再对应的位置写值,此时默认参数的值就会被替换。
总结:
排列顺序:位置参数 关键参数 默认参数
python参数的更多相关文章
- Python参数笔记
Python参数 1. 普通参数 必须要传入和定义时个数相同的参数 def miao(acfun, bilibili): print(acfun, bilibili) miao(11, 22) > ...
- Python参数基础
Python参数基础 位置参数 通过位置进行匹配,把参数值传递给函数头部的参数名称,顺序从左到右 关键字参数 调用的时候使用参数的变量名,采用name=value的形式 默认参数 为没有传 ...
- Python参数类型以及实现isOdd函数,isNum函数,multi函数,isPrime函数
Python参数类型以及实现isOdd函数,isNum函数,multi函数,isPrime函数 一.Python参数类型 形参:定义函数时的参数变量. 实参:调用函数时使用的参数变量. 参数传递的过程 ...
- python 参数定义库argparse
python 参数定义库argparse 这一块的官方文档在这里 注意到这个库是因为argparse在IDE中和在ipython notebook中使用是有差异的,习惯了再IDE里面用,转到ipyth ...
- python 参数类型理解
简介 大家都知道,在java中,函数或者方法的参数在调用时必须对其进行传参操作,也就是所谓的必选参数,也可以称为位置参数,除此之外,python还拥有其他语言不具有的一些参数类型,以下将进行一一介绍. ...
- python 参数
摘自:http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/00137473844933 ...
- python 参数的组合
现在我们知道python定义函数的参数类型有:必选参数 默认参数 可变参数 关键字参数 但是在我们日常中我们是可以组合使用这些参数的:但是使用的时候,参数定义是有顺序的 定义的顺序必须是:必选参数,默 ...
- <转>Python 参数知识(变量前加星号的意义)
csdn上的牛人就是多,加油 —————————————————————————— 过量的参数 在运行时知道一个函数有什么参数,通常是不可能的.另一个情况是一个函数能操作很多对象.更有甚者,调用自身的 ...
- python参数传递方式
原文地址:http://www.cnblogs.com/zhaopengcheng/p/5492183.html python中一切皆对象,函数中参数传递的是对象的引用. 1在函数中改变变量指向的对象 ...
随机推荐
- 4、Zookeeper简单介绍
一.分布式协调技术 在给大家介绍ZooKeeper之前先来给大家介绍一种技术——分布式协调技术.那么什么是分布式协调技术?那么我来告诉大家,其实分布式协调技术 主要用来解决分布式环境当中多个进程之间的 ...
- 第一课了解SQL
1.1 数据库基础 其实一直在使用这数据库,当你在邮箱中查询名字时,当在网站上进行搜索,在自动取款机上使用ATM卡,这些操作都是在使用数据库 1.1.1 数据库 数据库:保存有组织的数据的容器(通 ...
- gentoo freemind 安装设置
安装 freemind 之后,感觉菜单上面的字体比较模糊,通过设置 tools --> preference 中的 defaults --> default fonts 里面 的 defa ...
- redis的缓冲击穿|缓冲雪崩|缓冲淘汰
Redis 的缓存穿透和击穿 查询数据 缓存中有,从缓存中返回 缓存中没有,从数据库中查找,数据库中命中结果 ,将查询到的数据保存到缓存中 缓存中没有,从数据库中查找,数据库中也没有 , 不在缓存中保 ...
- 26.python常用端口号
MySQL默认端口 3306 Redis默认端口 6379 MongoDB默认端口 27017 django端口 8000 flask端口 5000 pyspider服务端口 5000(由flask开 ...
- java.lang.NoClassDefFoundError: org/springframework/boot/context/embedded/FilterRegistrationBean
昨天还好好的, 今天我的spring boot 项目就不能正常运行了! 出现: 018-07-06 10:01:41.776 WARN [mq-service,,,] 7 --- [ main] at ...
- OpenGL中投影矩阵基础知识
投影矩阵元素Projection Matrix 投影矩阵构建: 当f趋向于正无穷时: 一个重要的事实是,当f趋于正无穷时,在剪裁空间中点的z坐标跟w坐标相等.计算方法如下: 经过透视除法后,z坐标变为 ...
- c# post 接收传来的文件
private void UploadFile() { // //......其他代码 // HttpFileCollection files = HttpContext.Current.Reques ...
- MM-实际应用中的难题
SAP系统实际应用中的十大难题——塞依SAP培训 难题1:采购料维修 如果有物料坏了,需要退回给供应商处维修,此时一般不做退货.因为,第一,供应商不一定会乐意:第二,往来单据也无谓地增多:第三,最重要 ...
- 【FZSZ2017暑假提高组Day1】确定小组
[问题描述] 有n个人坐成一排,这n个人都在某一个小组中,同一个小组的所有人所坐的位置一定是连续的. 有一个记者在现场进行采访,他每次采访都会询问一个人其所在的小组有多少人,被询问的每个人都给出了正确 ...