Python函数可变参数

Python函数可变参数教程

Python 中,函数参数 可以支持指定任意的个数与数据类型,这就是 Python 函数的可变参数,最典型的可变参数就是 print() 函数。

Python 中函数的可变参数又被称为不定长参数,Python 中的可变参数不是必须是函数的最后一个参数,但如果不是函数的最后一个参数,那么普通参数必须使用 关键字参数 的形式传值。

Python 中定义可变参数有两种形式,分别为:形参前添加一个 * 和形参前添加两个 *

Python函数可变参数定义详解

语法

def func_name(param1, *params): pass

参数

参数 描述
def 定义函数所使用的关键字,所有的函数前面都必须使用该关键字。
func_name 函数的名称。
param1 函数的形参 1。
params 函数的可变参数。

说明

我们定义了一个名为 func_name 的函数,其中参数 params 是可变参数,Python 中的可变参数不是必须是函数的最后一个参数。

Python函数可变参数遍历详解

语法

def func_name(*params, param1): for param in params: pass

说明

我们使用 for in 语法,可以遍历得到可变参数的所有的参数。

案例

Python函数可变参数

Python 函数可变参数,可以传入任意个数的参数

print("嗨客网(www.haicoder.net)") # Python 函数可变参数,可以传入任意个数的参数 def my_sum(*args): res = 0 for arg in args: res += arg return res res = my_sum(1, 2, 3, 4, 5) print("Sum =", res)

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

18_python函数可变参数.png

我们定义了一个函数 my_sum,该函数的参数是一个可变参数 args,在该函数体中,我们使用 for in 循环遍历可变参数中的每一个参数,并将他们相加,将相加的和通过返回值返回。

最后,我们调用该函数,并传入了五个参数,我们看到,最终,程序输出了我们传入的所有参数的和。

Python函数可变参数

Python 函数可变参数,是最后一个参数

print("嗨客网(www.haicoder.net)") # Python 函数可变参数,是最后一个参数 def my_sum(prefix, *args): res = 0 for arg in args: res += arg print(prefix, res) my_sum("Sum =", 1, 2, 3, 4, 5)

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

19_python函数可变参数.png

我们定义了一个函数 my_sum,该函数的接受一个普通的参数 prefix,和一个可变参数 args,其中,可变参数是最后一个参数。

因此,我们在调用该函数时,第一个传入的参数就是 prefix,其他所有的参数都会做为可变参数处理。

Python函数可变参数不是最后一个参数

Python 函数可变参数,不是最后一个参数

print("嗨客网(www.haicoder.net)") # Python 函数可变参数,不是最后一个参数 def my_sum(*args, prefix): res = 0 for arg in args: res += arg print(prefix, res) my_sum(1, 2, 3, 4, 5, prefix="Sum =")

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

20_python函数可变参数.png

我们定义了一个函数 my_sum,该函数的第一个参数是一个可变参数 args,最后一个是一个普通的参数 prefix。

最后,我们在调用该函数时,首先传入的参数,全部做为可变参数处理,最后一个参数,我们使用关键参数的形式传递,指明传递给参数 prefix。

Python函数参数可变参数总结

在 Python 中,函数的参数可以支持指定任意的个数与数据类型,这就是 Python 函数的可变参数。

Python 中函数的可变参数又被称为不定长参数,Python 中的可变参数不是必须是函数的最后一个参数,但如果不是函数的最后一个参数,那么普通参数必须使用关键字参数的形式传值。Python 函数可变参数定义:

def func_name(param1, *params): pass

Python 函数可变参数遍历语法:

def func_name(*params, param1): for param in params: pass