Python中怎么对函数参数进行操作

  

Python中怎么对函数参数进行操作,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

<强>形参和实参

不止Python,几乎所有的编程语言都会涉及两个术语:参数和参数。那么,它们之间究竟有什么区别呢?

参数是指函数定义中的参数,而参数指的是函数调用时的实际参数。

简略描述:参数=形参(正式的参数),参数=实参(实际参数)。

例如,定义一个简单的函数:

在祝辞祝辞,def 迎接(param1, param2):   …,,,通过   ……,   在在在,   祝辞祝辞祝辞,迎接(& # 39;你好# 39;,,& # 39;python # 39;)

其中,param1和param2是函数的形参,而在函数<代码>问候()被调用时,传入的(& # 39;你好# 39;和& # 39;python # 39;)则是实参。

<强>固定数量参数的函数

到目前为止,关于函数,我们介绍的都是固定数量的参数来。看一个简单的示例:

在祝辞祝辞,def 迎接(说,味精):   …,,,印刷(说,味精)   ……,   在在在,   祝辞祝辞祝辞,迎接(& # 39;你好# 39;,,& # 39;python # 39;)   Hello  Python

这里,函数<代码>问候()有两个参数,用两个参数调用这个函数,运行得很顺利,不会有任何错误。

倘若,参数的个数不匹配,会发生什么?

在祝辞祝辞,迎接(),#,没有参数   …   TypeError:问候(),missing  2, required  positional 参数:,& # 39;说# 39;,以及& # 39;味精# 39;   在在在,   在祝辞祝辞,迎接(& # 39;你好# 39;),#,只有一个参数   …   TypeError:问候(),missing  1, required  positional 论点:,& # 39;味精# 39;

显然,解释器会发牢骚。但是,对Python来说,要解决这个问题简直是易如反掌,继续往下看!

<强>默认参数

定义函数时,可以使用赋值运算符(=)为参数指定一个默认值。

注意:如果参数没有默认值,在调用时必需为其指定一个值,如果参数有默认值,那么在调用时值是可选的,如果为其提供了一个值,将会覆盖默认值。

在祝辞祝辞,def 迎接(说,name =, & # 39;詹姆斯# 39;,,msg =, & # 39;小姐:am  your  biggest 风扇! & # 39;):   …,,,print(说,& # 39;& # 39;,,名字,,& # 39;,& # 39;,,味精)   ……,   在祝辞祝辞,迎接(& # 39;你好# 39;),#,只提供强制性的参数   Hi , James ,,小姐:am  your  biggest 风扇!   在在在,   祝辞祝辞祝辞,迎接(& # 39;你好# 39;,,& # 39;科比# 39;),#,给出一个可选参数   Hi , Kobe ,,小姐:am  your  biggest 风扇!   在在在,   祝辞祝辞祝辞,迎接(& # 39;你好# 39;,,& # 39;科比# 39;,,& # 39;小姐:want 用challenge 你! & # 39;),#,给出所有参数   Hi , Kobe ,,小姐:want 用challenge 你!

由于说没有默认值,所以必须指定;名字,味精有默认值,所以值是可选的。

函数中的所有参数都可以有默认值,但是,一旦存在一个默认参数,其右侧的所有参数也必须有默认值。也就是说,非默认参数不能在默认参数之后。

例如,将上面的函数定义为:

def 迎接(=name  & # 39;詹姆斯# 39;,,说):

就会引发错误:

SyntaxError:非默认参数是默认参数

<强>关键字参数

当使用某些值调用函数时,这些值将根据其位置分配给参数。

例如,在上述函数<代码>问候()中,当使用<代码>问候(& # 39;你好# 39;& # 39;科比# 39;)调用它时,& # 39;你好# 39;被赋值给参数说,同样地,& # 39;科比# 39;被赋值给名字。

Python允许使用<代码> kwarg=> 在祝辞祝辞,def 迎接(说,name =, & # 39;詹姆斯# 39;):   …,,,print(说,& # 39;& # 39;,,名字)   ……,   在在在,   在祝辞祝辞,迎接(=say  & # 39;你好# 39;,,name =, & # 39;科比# 39;),#,2,个关键字参数   Hi ,科比   在在在,   祝辞祝辞祝辞,迎接(=name  & # 39;科比# 39;,,say =, & # 39;你好# 39;),#,2,个关键字参数(次序颠倒)   Hi ,科比   在在在,   在祝辞祝辞,迎接(& # 39;你好# 39;,,name =, & # 39;科比# 39;),#,位置参数与关键字参数混合使用   Hi ,,科比

当以这种方式调用函数时,关键字参数必须在位置参数之后,所有传递的关键字参数都必须与函数接受的某个参数匹配,并且它们的顺序不重要。

Python中怎么对函数参数进行操作