赞
赏
在 Python 中,函数 的 参数 可以支持指定任意的个数与数据类型,这就是 Python 函数的可变参数,最典型的可变参数就是 print() 函数。
Python 中函数的可变参数又被称为不定长参数,Python 中的可变参数不是必须是函数的最后一个参数,但如果不是函数的最后一个参数,那么普通参数必须使用 关键字参数 的形式传值。
Python 中定义可变参数有两种形式,分别为:形参前添加一个 *
和形参前添加两个 *
。
def func_name(param1, *params):
pass
参数 | 描述 |
---|---|
def | 定义函数所使用的关键字,所有的函数前面都必须使用该关键字。 |
func_name | 函数的名称。 |
param1 | 函数的形参 1。 |
params | 函数的可变参数。 |
我们定义了一个名为 func_name 的函数,其中参数 params 是可变参数,Python 中的可变参数不是必须是函数的最后一个参数。
def func_name(*params, param1):
for param in params:
pass
我们使用 for in 语法,可以遍历得到可变参数的所有的参数。
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)
程序运行后,控制台输出如下:
我们定义了一个函数 my_sum,该函数的参数是一个可变参数 args,在该函数体中,我们使用 for in 循环遍历可变参数中的每一个参数,并将他们相加,将相加的和通过返回值返回。
最后,我们调用该函数,并传入了五个参数,我们看到,最终,程序输出了我们传入的所有参数的和。
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)
程序运行后,控制台输出如下:
我们定义了一个函数 my_sum,该函数的接受一个普通的参数 prefix,和一个可变参数 args,其中,可变参数是最后一个参数。
因此,我们在调用该函数时,第一个传入的参数就是 prefix,其他所有的参数都会做为可变参数处理。
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 =")
程序运行后,控制台输出如下:
我们定义了一个函数 my_sum,该函数的第一个参数是一个可变参数 args,最后一个是一个普通的参数 prefix。
最后,我们在调用该函数时,首先传入的参数,全部做为可变参数处理,最后一个参数,我们使用关键参数的形式传递,指明传递给参数 prefix。
在 Python 中,函数的参数可以支持指定任意的个数与数据类型,这就是 Python 函数的可变参数。
Python 中函数的可变参数又被称为不定长参数,Python 中的可变参数不是必须是函数的最后一个参数,但如果不是函数的最后一个参数,那么普通参数必须使用关键字参数的形式传值。Python 函数可变参数定义:
def func_name(param1, *params):
pass
Python 函数可变参数遍历语法:
def func_name(*params, param1):
for param in params:
pass