嗨客网搜索

Python函数关键字参数

Python函数关键字参数教程

Python函数参数,除了支持位置参数外,即,形参的位置与个数需要与实参的位置和个数一一对应,还可以使用关键字参数。

关键字参数,就是我们在函数传递实参时,可以通过参数名指定,我们具体传递的是哪个形参,但关键字参数的实参和形参的个数还必须是一一对应的。

Python函数位置参数详解

语法

def func_name(param1, param2){ # 执行语句... return val } #调用函数 func_name(p1, p2)

说明

我们定义了一个函数,函数名为 func_name,该函数有两个位置参数,在函数调用时,我们需要同样的传入两个参数。

这里的实参 p1 对应的就是形参 param1,实参 p2 对应的就是形参 param2。

Python函数关键字参数详解

语法

def func_name(param1, param2){ # 执行语句... return val } # 调用函数 func_name(param1 = p1, param2 = p2) func_name(param2 = p2, param1 = p1)

参数

参数 描述
def 定义函数所使用的关键字,所有的函数前面都必须使用该关键字。
func_name 函数的名称。
param1 函数的形参1。
param2 函数的形参2,函数可以有任意多个形参。
return 后面接函数的返回值,函数的返回值只能有一个,可以是任意的数据类型。

说明

我们定义了一个函数,函数名为 func_name,该函数接受两个参数。接着,我们两次调用了函数 func_name。

第一次调用时,我们通过关键字参数指定形参 param1 对应的实参为 p1,形参 param2 对应的实参为 p2,第二次调用,同样使用关键字参数指定实参和形参的对应关系。

这样,通过关键字参数,形参的顺序就不必跟实参的顺序一样了。

案例

Python函数位置参数

Python函数使用位置参数,则参数顺序和个数必须一一对应

print("嗨客网(www.haicoder.net)") # Python函数使用位置参数,则参数顺序和个数必须一一对应 def area(a, b, c): s = (a + b + c) / 2 ret = (s*(s-a)*(s-b)*(s-c)) ** 0.5 return ret ret = area(3, 4, 5) print("area =", ret)

程序运行后,控制台输出如下:

10_python函数位置参数.png

我们定义了一个函数 area,该函数传入三个参数 a、b 和 c,该函数实现的是求任意三角形的面积的逻辑,并通过返回值返回求得的面积。

最后,我们调用了 area 函数,并传入了三个参数,使用 ret 变量来接受 area 函数返回的值,最后使用 print 函数打印最后的结果。

因此,我们的函数的形参有三个,且这里使用的是函数的位置参数,因此,我们的实参的顺序和个数必须和形参完全保持一致。

Python函数位置参数

Python函数使用位置参数,如果形参和实数个数不一样,程序报错

print("嗨客网(www.haicoder.net)") # Python函数使用位置参数,如果形参和实数个数不一样,程序报错 def area(a, b, c): s = (a + b + c) / 2 ret = (s*(s-a)*(s-b)*(s-c)) ** 0.5 return ret ret = area(3, 4, 5, 6) print("area =", ret)

程序运行后,控制台输出如下:

11_python函数位置参数.png

我们定义了一个函数 area,该函数传入三个参数 a、b 和 c,我们在调用该函数时,实参传递了四个,因此,实参和形参的个数不对应,程序报错。

Python函数关键字参数

Python 函数使用位置参数,则参数顺序可以不一致

print("嗨客网(www.haicoder.net)") # Python函数使用位置参数,则参数顺序可以不一致 def sub(a, b): return a - b ret = sub(a = 1024, b = 512) print("sub =", ret) ret = sub(b = 512, a = 1024) print("sub =", ret)

程序运行后,控制台输出如下:

12_python函数位置参数.png

我们定义了一个函数 sub,该函数传入两个参数 a 和 b,该函数实现的是求 a 和 b 的差的逻辑,并通过返回值返回求得的差值。

最后,我们使用了关键字参数的形式,两次调用了 sub 函数,第一次调用时,首先显式指定形参 a 的值为 1024,形参 b 的值为 512,第二次调用时,首先显式指定形参 b 的值为 512,形参 a 的值为 1024。

我们打印两次调用的结果,发现都是一样的正确的结果,因此,使用函数的关键字参数,实参的顺序和形参的顺序不必完全保持一致。

Python函数关键字参数

Python 函数使用位置参数,参数个数必须一致

print("嗨客网(www.haicoder.net)") # Python函数使用位置参数,参数个数必须一致 def sub(a, b): return a - b ret = sub(b = 512) print("sub =", ret)

程序运行后,控制台输出如下:

13_python函数位置参数.png

我们定义了一个函数 sub,该函数传入两个参数 a 和 b,我们使用位置参数调用该函数时,实参传递了一个,因此,实参和形参的个数不对应,程序报错。

Python函数关键字参数总结

关键字参数,就是我们在函数传递实参时,可以通过参数名指定,我们具体传递的是哪个形参,但关键字参数的实参和形参的个数还必须是一一对应的。Python 函数关键字参数定义:

def func_name(param1, param2){ # 执行语句... return val } # 调用函数 func_name(param1 = p1, param2 = p2) func_name(param2 = p2, param1 = p1)
嗨客网顶部