赞
赏
Python 中 函数 的 参数,可以支持位置参数和 关键字参数,但不管是位置参数还是关键字参数,函数参数的个数必须保持一致,如果参数的个数不一致,则程序会报错。
Python 的函数参数,还为我们提供了默认参数的机制,即我们在调用函数时,如果不传入参数,则使用我们定义的默认参数的值。Python 函数的默认参数必须放在函数参数列表的最后,且 Python 的默认参数可以是任意多个。
def func_name(param1, param2 = value){
# 执行语句...
return val
}
func_name(p1, p2)
func_name(p1)
参数 | 描述 |
---|---|
def | 定义函数所使用的关键字,所有的函数前面都必须使用该关键字。 |
func_name | 函数的名称。 |
param1 | 函数的形参 1。 |
param2 | 函数的形参 2,函数可以有任意多个形参。 |
value | 函数参数 param2 的默认值。 |
return | 后面接函数的返回值,函数的返回值只能有一个,可以是任意的数据类型。 |
我们定义了一个函数,函数名为 func_name,该函数有两个参数,其中,第二个参数是一个带默认值的参数,默认值为 value。
接着,在调用该函数时,我们可以传入两个参数,也可以传入一个参数,传入两个参数,那么形参 param1 的值就为 p1,形参 param2 的值就为 p2。
如果,我们调用时,传入一个参数,那么形参 param1 的值就为 p1,形参 param2 的值就为默认值 value。
def func_name(param1 = value1, param2 = value2){
# 执行语句...
return val
}
func_name(p1, p2)
func_name(p1)
func_name()
参数 | 描述 |
---|---|
def | 定义函数所使用的关键字,所有的函数前面都必须使用该关键字。 |
func_name | 函数的名称。 |
param1 | 函数的形参 1。 |
param2 | 函数的形参 2,函数可以有任意多个形参。 |
value1 | 函数形参 param1 的默认值。 |
value2 | 函数形参 param2 的默认值。 |
val | 函数返回值。 |
return | 后面接函数的返回值,函数的返回值只能有一个,可以是任意的数据类型。 |
我们定义了一个函数,函数名为 func_name,该函数有两个参数,其中,第一个参数和第二个参数都带默认值的参数,默认值分别为 value1 和 value2。
接着,在调用该函数时,我们可以传入两个参数,也可以传入一个参数,甚至可以不传入任何参数。
Python函数支持默认参数
print("嗨客网(www.haicoder.net)")
# Python函数支持默认参数
def my_sum(a, b = 100):
num = 0
for i in range(a, b+1):
num = num +i
return num
ret = my_sum(1, 50)
print("sum =", ret)
ret = my_sum(1)
print("sum =", ret)
程序运行后,控制台输出如下:
我们定义了一个函数 my_sum,该函数传入两个参数 a 和 b,该函数实现的是求 a 到 b 之间所有数的和,并通过返回值返回求得的和。
其中,my_sum 函数的第二个参数有一个默认值 100,即,如果我们不传递第二个参数,那么就使用默认的 100。
最后,我们两次调用了 my_sum 函数,第一次调用时,传入了两个参数 1 和 50,因此求出了 1 到 50 的和,第二次调用时,我们只传递了一个参数 1,因此第二个参数使用默认值 100,最后求出了 1 到 100 的和。
因此,当我们定义函数时,如果使用了函数的默认参数,那么有默认参数的参数不传递值时,会使用默认值。
Python 函数支持多个默认参数
print("嗨客网(www.haicoder.net)")
# Python函数支持多个默认参数
def my_sum(a = 1, b = 100):
num = 0
for i in range(a, b+1):
num = num +i
return num
ret = my_sum(10, 50)
print("sum =", ret)
ret = my_sum(50)
print("sum =", ret)
ret = my_sum()
print("sum =", ret)
程序运行后,控制台输出如下:
我们定义了一个函数 my_sum,该函数传入两个参数 a 和 b,该函数实现的是求 a 到 b 之间所有数的和,并通过返回值返回求得的和。
其中,my_sum 函数的第一个参数和第二个参数都有一个默认值,第一个参数的默认值为 1,第二个参数的默认值为 100,即,如果我们不传递第一个参数,那么就使用默认的 1,如果我们不传递第二个参数,那么就使用默认的 100。
最后,我们三次调用了 my_sum 函数,第一次调用时,传入了两个参数 10 和 50,因此求出了 10 到 50 的和,第二次调用时,我们只传递了一个参数 50,因此第二个参数使用默认值 100,最后求出了 50 到 100 的和,第三次调用时,我们没有传递任何参数,因此第一个参数使用默认的 1,第二个参数使用默认值 100,最后求出了 1 到 100 的和。
Python 函数默认参数,必须放在参数列表最后
print("嗨客网(www.haicoder.net)")
# Python函数默认参数,必须放在参数列表最后
def sub(a = 1, b):
return a - b
ret = sub(1024, 512)
print("sub =", ret)
程序运行后,控制台输出如下:
我们定义了一个函数 sub,该函数传入两个参数 a 和 b,其中第一个参数使用了默认参数,而第二个参数没有使用默认参数。因此,程序报错,因为函数的默认参数必须放在参数列表的最后。
Python 函数使用位置参数,参数个数必须一致
print("嗨客网(www.haicoder.net)")
# Python函数使用位置参数,参数个数必须一致
def sub(a, b):
return a - b
ret = sub(b = 512)
print("sub =", ret)
程序运行后,控制台输出如下:
我们定义了一个函数 sub,该函数传入两个参数 a 和 b,我们使用位置参数调用该函数时,实参传递了一个,因此,实参和形参的个数不对应,程序报错。
Python 的函数参数,还为我们提供了默认参数的机制,即我们在调用函数时,如果不传入参数,则使用我们定义的默认参数的值。
Python 函数的默认参数必须放在函数参数列表的最后,且 Python 的默认参数可以是任意多个。Python 函数默认参数语法:
def func_name(param1 = value1, param2 = value2){
# 执行语句...
return val
}
func_name(p1, p2)
func_name(p1)
func_name()