欢迎访问宙启技术站
智能推送

Python函数(方法)的形参传递类型 - Python函数参数传递类型有哪些?

发布时间:2023-10-09 20:09:56

Python的函数参数可以分为以下几种类型:

1. 位置参数:位置参数是最常见的参数类型,它们按照在函数定义中的顺序来传递。例如,下面的函数add接受两个位置参数ab,并返回它们的和。

def add(a, b):
    return a + b

调用函数时,位置参数必须按照函数定义的顺序传递。

result = add(1, 2)
print(result)  # 输出3

2. 关键字参数:关键字参数是通过指定参数名来传递的。使用关键字参数时,参数名称和值被赋予在函数调用中,而不是按位置顺序。关键字参数可以打乱参数的顺序,提高函数的可读性。例如,下面的函数divide接受两个关键字参数dividenddivisor,并返回两者相除的结果。

def divide(dividend, divisor):
    return dividend / divisor

调用函数时,可以使用参数名指定参数的值。

result = divide(dividend=10, divisor=2)
print(result)  # 输出5

3. 默认参数:默认参数允许在函数定义中给参数指定一个默认值。如果在函数调用时不提供该参数的值,将使用默认值。默认参数通常在函数参数列表的最后面。例如,下面的函数power接受两个参数baseexponent,默认的底数为2,如果不指定指数,则默认为1。

def power(base, exponent=1):
    return base ** exponent

调用函数时,可以省略掉默认参数,使用默认的参数值。

result = power(2)
print(result)  # 输出2
result = power(3, 2)
print(result)  # 输出9

4. 可变参数:Python还支持可变数量的参数,这意味着一个函数可以接受任意数量的参数。可变参数用*来定义,它将参数收集到一个元组中。例如,下面的函数multiply接受任意数量的参数,并返回它们的乘积。

def multiply(*args):
    result = 1
    for num in args:
        result *= num
    return result

调用函数时,可以传递任意数量的参数。

result = multiply(2, 3, 4)
print(result)  # 输出24
result = multiply(5, 6)
print(result)  # 输出30

5. 关键字可变参数:除了可变参数,Python还支持关键字可变参数,它允许函数接受任意数量的关键字参数。关键字可变参数用**来定义,它将参数收集到一个字典中。例如,下面的函数print_info接受任意数量的关键字参数,并将它们打印出来。

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

调用函数时,可以传递任意数量的关键字参数。

print_info(name="Alice", age=25)
# 输出:
# name: Alice
# age: 25

print_info(country="USA", city="New York", language="English")
# 输出:
# country: USA
# city: New York
# language: English

这些是Python中函数参数传递的常见类型。根据具体的需求,可以选择适当的参数类型来定义函数。