
正文
python数组函数形参 python数组做参数传递给函数
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
Python参数类型
上一期我们学习参数传递怎么传递,也了解了参数的几种类型。
首先,我们再来回顾一下,形参和实参:
形参是在定义函数时定义的,放在函数名后面的圆括号里,可为空
实参是调用函数时为形参传入具体的参数值
简单总结一下,谁调用函数,谁就负责传入参数。
好呐,本期我们来详细学习函数几种参数类型,大纲如下:
python函数的参数名是无意义的,Python允许在调用函数时通过通过名字来传入参数值。
位置参数:按照形参位置传入的参数
调用函数时,实参默认按位置顺序传递的。同时实参个数也要和形参匹配
举一个小栗子
如果实参的个数与形参不匹配时,调用函数运行就会报错
Python中,形参与调用函数紧密联系在一起的。
关键字参数:调用函数时,使形参名称来传递参数,形式为“形参名=实参”
关键字参数,又叫命名参数,传递时无需考虑参数位置和顺序
举一个小栗子
默认参数:定义函数时,我们可以为形参提前设置具体的值。
在定义函数时,默认参数要放到位置等其他参数后面
在调用函数时,默认参数是可选的。如果传入新值,则会覆盖默认值
举一个小栗子
注意,默认值不能位于位置参数前面,否则程序会报错误
不定长参数又名可变参数。
不定长参数指的是可变数量的参数,分两种情况:
如果不定长参数后面,可以新增参数吗?
我们通过例子来看,会发生什么?
运行上面的程序,Python解释器会报错
原因是,形参a已经是不定长参数,我们调用的test(2,3,4)传入的三个实参,系统自动把它们属于形参a的值,形参b 和形参c就等于没有值传入,这时候系统就认为,调用函数的对象,参数没有传够。
为了解决这一报错,python引入了 强制命名参数
规定,调用不定参数后面有跟位置参数的函数时,传入给位置参数时,必须要强制命名参进行传参。
逆向参数收集针对的对象传入函数的实参
调用函数时,如果实参是元组,列表或者字典,通过在实参前面加入星号,可以自动把元素进行隔开,然后再转入给函数进行处理
举一个小栗子
本期,我们详细学习了参数几种类型,为后面我们学习函数,打好基础。
实践是检验真理的过程,大家多动手练习练习,会有不一样的奇妙旅程~
好呐,以上是本期内容,欢迎大佬们评论区指正~
相关问答
Q1: python文档中的函数形参写法问题
python数组函数形参你说python数组函数形参的这其实就是shell(或CMD)的语法。大致如下:
不带方括号或大括号的文本 | 您必须键入如下所示的项目
尖括号内的文本 | 您必须为其提供值的占位符
[方括号内的文本] | 可选的项目
{大括号内的文本} | 一组所需的项目。选择一个
竖线 (|) | 互斥项python数组函数形参,从分隔符分隔的元素中选择一个
省略号 (…) | 可重复的项目
split([sep [,maxsplit]]) 说明python数组函数形参,下列三种呼叫方法都是正确的,类似C中的默认参数了。
mystr.split() # 可一个参数都不带
mystr.split('a') # 可只带一个参数,这个时候这一个参数赋值给 sep
mystr.split('a',3) # 可带两个参数
顺便说一下,python数组函数形参我第一次见这个是在mysql的官方文档里-v-
Q2: Python函数中的形参会改变实参的值?
形参就是函数入口的参数,函数入口参数传递只有传值与传值两种区别。传值在python里就是以对象,比如数组或者是类来传递。至于实参,我印象中是传递常量吧。如果不是这样,应该没有实参的说法。是某些老师为了忽悠,编造出来的概念游戏。简单变量应该是指相对对象来讲的。在python里,只有对象与基本变量类型。简单变量的说法在python里似乎也没有意义。所以,忘记简单变量与实参这样的说法。
Q3: python如何规定形参数组长度
答案:用len函数。
#例子;
def myf(*arr):#可变形参*arr
result=(sum(arr) if len(arr)=2 else type(arr))#缩进4空,若参数组长度≥2,返回sum(arr),否则返回type(arr)
return result#缩进4空
print(myf(1,2,0.3))#返回3.3
print(myf(1,6))#返回7
print(myf())#返回class 'tuple'
关于python数组函数形参和python数组做参数传递给函数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







