📜  python 函数重载 - Python (1)

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

Python 函数重载

函数重载是一种编程语言的特性,它允许定义多个同名函数,但这些函数具有不同的参数列表和参数类型。Python 是一种动态语言,不支持函数重载的语法。但是,Python 提供了一种实现函数重载的方式,即使用默认参数和可变参数。

使用默认参数实现函数重载

默认参数是 Python 函数的一个特性,它允许在定义函数时设置一个默认值。可以使用默认参数实现函数重载。例如,下面的代码定义了一个名为 add 的函数,它可以接受 1 个或 2 个参数:

def add(x, y=0):
    return x + y

print(add(10))      # 输出 10
print(add(10, 20))  # 输出 30

在这个例子中,add 函数有两个参数,其中 y 参数有一个默认值 0。如果只传递一个参数,则使用默认值 0。如果传递两个参数,则使用传递的值。

使用可变参数实现函数重载

可变参数是 Python 函数的另一个特性,它允许定义一个参数可以接受任意数量的参数。可以使用可变参数实现函数重载。例如,下面的代码定义了一个名为 sum 的函数,它可以接受 1 个或多个参数:

def sum(*args):
    result = 0
    for arg in args:
        result += arg
    return result

print(sum(10))             # 输出 10
print(sum(10, 20))         # 输出 30
print(sum(10, 20, 30, 40)) # 输出 100

在这个例子中,sum 函数有一个名为 args 的可变参数。可以传递任意数量的参数给 sum 函数,它会将所有参数相加并返回总和。

总结

Python 是一种动态语言,不支持函数重载的语法。但是,Python 提供了一种实现函数重载的方式,即使用默认参数和可变参数。使用默认参数可以定义多个同名函数,但这些函数具有不同的参数列表和参数类型。使用可变参数可以定义一个参数可以接受任意数量的参数,从而实现函数重载。