📜  如何在 python 中使函数输入可选(1)

📅  最后修改于: 2023-12-03 15:24:19.535000             🧑  作者: Mango

如何在 Python 中使函数输入可选

在 Python 中,我们可以通过使用默认参数值、可变参数以及关键字参数等方式,实现函数输入可选的功能。本文将为大家详细介绍这些方法的使用。

默认参数值

默认参数值是指在定义函数时,为参数设置默认值。当函数被调用时,如果没有传入相应参数,则使用默认值进行计算。默认参数值的语法是在函数定义时,在参数列表的后面为参数赋一个默认值。

如下例所示:

def print_info(name, age=18):
    print("Name:", name)
    print("Age:", age)

print_info("Jack")  # Name: Jack, Age: 18
print_info("Lily", 20)  # Name: Lily, Age: 20

在上例中,函数 print_info 的第二个参数 age 的默认值设置为 18,当函数被调用时,如果没有传入 age 参数,则使用默认值 18

可变参数

可变参数是指在调用函数时,可以传入任意个参数,这些参数会被封装成一个元组或列表,传给函数。可变参数的语法是在参数前面加上 *,表示接受任意个参数。

如下例所示:

def sum_numbers(*numbers):
    result = 0
    for number in numbers:
        result += number
    return result

print(sum_numbers(1, 2, 3, 4, 5))  # 15
print(sum_numbers(1, 3, 5, 7, 9))  # 25

在上例中,sum_numbers 函数使用了可变参数 *numbers,接受任意个参数。在函数内部,使用 for 循环遍历参数列表 numbers,计算它们的和并返回结果。

关键字参数

关键字参数是指在调用函数时,可以传入任意个参数,这些参数会被封装成一个字典,传给函数。关键字参数的语法是在参数前面加上 **,表示接受任意个关键字参数。

如下例所示:

def print_info(name, **kwargs):
    print("Name:", name)
    for key, value in kwargs.items():
        print(f"{key.capitalize()}: {value}")

print_info("Jack", age=20, gender="Male", phone="1234567890")
# Name: Jack
# Age: 20
# Gender: Male
# Phone: 1234567890

在上例中,print_info 函数使用了关键字参数 **kwargs,接受任意个关键字参数。在函数内部,使用 for 循环遍历关键字参数字典 kwargs,打印每个参数的名称和值。

结语

通过以上三种方式,我们可以很方便地实现函数输入可选的功能,在编写有大量可选参数的函数时,可以极大地减少代码量,同时也方便了函数的调用,降低了程序的复杂度。