跳至内容

Python 传参

编程中,把函数接收的值称为 参数。学习本章节之前,请先阅读 Python 函数章节。

参数默认值

Python中,可以为函数参数提供默认值。使用 = 操作符即可。

python
def func_add(num1=3, num2=4):
    sum = num1 + num2
    print("sum:", sum)

# 参数显式赋值
func_add(1, 2)
# 参数num1显式赋值
func_add(num1=5)
# 参数都使用默认值
func_add()


# 输出:
# sum:3
# sum:9
# sum:7
def func_add(num1=3, num2=4):
    sum = num1 + num2
    print("sum:", sum)

# 参数显式赋值
func_add(1, 2)
# 参数num1显式赋值
func_add(num1=5)
# 参数都使用默认值
func_add()


# 输出:
# sum:3
# sum:9
# sum:7

关键字参数

关键字参数是通过参数名称去赋值。

python
def echo_name(first_name, last_name):
    print(f"name:{first_name}-{last_name}")

echo_name(last_name="liu", first_name="xing")


# 输出:
# name:xing-liu
def echo_name(first_name, last_name):
    print(f"name:{first_name}-{last_name}")

echo_name(last_name="liu", first_name="xing")


# 输出:
# name:xing-liu

这里,我们通过参数名完成参数传递,因此参数的顺序就无所谓了。

可变参数

有时,程序员无法提前知道函数的参数个数。在Python中,为了处理这个问题,可以使用可变参数。可变参数支持在函数调用时,传递可变数量的参数。

在Python中,在参数名称前使用星号 * 表示这类参数。

python
def func_sum(*nums):
    sum = 0
    for num in nums:
        sum += num
    
    print("sum:", sum)

# 2个参数
func_sum(1, 2)
# 4个参数
func_sum(1, 2, 3, 4)


# 输出:
# sum: 3
# sum: 10
def func_sum(*nums):
    sum = 0
    for num in nums:
        sum += num
    
    print("sum:", sum)

# 2个参数
func_sum(1, 2)
# 4个参数
func_sum(1, 2, 3, 4)


# 输出:
# sum: 3
# sum: 10

当函数调用传递多个参数时,可变参数被当成一个数组,可以使用for循环遍历。