python函数参数实参的简单介绍

python形参和实参之间有什么区别?形参 是指出现在函数定义中的名称,而 实参 则是在调用函数时实际传入的值 。形参定义了一个函数能接受何种类型的实参 。例如,对于以下函数定义:
def func(foo, bar=None, **kwargs):
pass
foo, bar 和 kwargs 是 func 的形参 。但是,在调用 func 时,例如:
func(42, bar=314, extra=somevar)
实际的值 42, 314 和 somevar 则是实参 。
python实参形参个数可以不同吗是的,Python实参和形参的个数可以不同 。实参是传递给函数的参数,而形参是函数定义时声明的参数 。实参可以少于形参,也可以多于形参,但实参的个数必须小于或等于形参的个数 。如果实参的个数多于形参的个数,则会报错 。
python中调用函数的过程中形参和实参的命名必须不一样对吗python中调用函数的过程中形参和实参的命名必须不一样 。变量名和函数名不能相同,否则会进行替代因为python是不声明类型的,不该出现重复的名字看很多人点赞我就更新一波 , 以免误导:其实python也是支持相同函数名的,只是不是高级编程是几乎用不到的,具体实现是靠自带的装饰器functools.singledispatch实现的单分派的设计模式 。
Python参数类型 上一期我们学习参数传递怎么传递python函数参数实参 , 也了解了参数的几种类型 。
首先 , 我们再来回顾一下,形参和实参:
形参是在定义函数时定义的,放在函数名后面的圆括号里,可为空
实参是调用函数时为形参传入具体的参数值
简单总结一下,谁调用函数,谁就负责传入参数 。
好呐 , 本期我们来详细学习函数几种参数类型,大纲如下python函数参数实参:
python函数的参数名是无意义的,Python允许在调用函数时通过通过名字来传入参数值 。
位置参数:按照形参位置传入的参数
调用函数时,实参默认按位置顺序传递的 。同时实参个数也要和形参匹配
举一个小栗子
【python函数参数实参的简单介绍】如果实参的个数与形参不匹配时,调用函数运行就会报错
Python中 , 形参与调用函数紧密联系在一起的 。
关键字参数:调用函数时,使形参名称来传递参数,形式为“形参名=实参”
关键字参数,又叫命名参数,传递时无需考虑参数位置和顺序
举一个小栗子
默认参数:定义函数时,我们可以为形参提前设置具体的值 。
在定义函数时,默认参数要放到位置等其python函数参数实参他参数后面
在调用函数时,默认参数是可选的 。如果传入新值,则会覆盖默认值
举一个小栗子
注意,默认值不能位于位置参数前面,否则程序会报错误
不定长参数又名可变参数 。
不定长参数指的是可变数量的参数,分两种情况:
如果不定长参数后面,可以新增参数吗?
我们通过例子来看,会发生什么?
运行上面的程序,Python解释器会报错
原因是,形参a已经是不定长参数,我们调用的test(2,3,4)传入的三个实参,系统自动把它们属于形参a的值 , 形参b 和形参c就等于没有值传入 , 这时候系统就认为 , 调用函数的对象,参数没有传够 。
为了解决这一报错,python引入了 强制命名参数
规定,调用不定参数后面有跟位置参数的函数时,传入给位置参数时 , 必须要强制命名参进行传参 。
逆向参数收集针对的对象传入函数的实参
调用函数时,如果实参是元组,列表或者字典,通过在实参前面加入星号 , 可以自动把元素进行隔开,然后再转入给函数进行处理

推荐阅读