Python函数(方法)的形参传递类型 - Python函数参数传递类型有哪些?
发布时间:2023-10-09 20:09:56
Python的函数参数可以分为以下几种类型:
1. 位置参数:位置参数是最常见的参数类型,它们按照在函数定义中的顺序来传递。例如,下面的函数add接受两个位置参数a和b,并返回它们的和。
def add(a, b):
return a + b
调用函数时,位置参数必须按照函数定义的顺序传递。
result = add(1, 2) print(result) # 输出3
2. 关键字参数:关键字参数是通过指定参数名来传递的。使用关键字参数时,参数名称和值被赋予在函数调用中,而不是按位置顺序。关键字参数可以打乱参数的顺序,提高函数的可读性。例如,下面的函数divide接受两个关键字参数dividend和divisor,并返回两者相除的结果。
def divide(dividend, divisor):
return dividend / divisor
调用函数时,可以使用参数名指定参数的值。
result = divide(dividend=10, divisor=2) print(result) # 输出5
3. 默认参数:默认参数允许在函数定义中给参数指定一个默认值。如果在函数调用时不提供该参数的值,将使用默认值。默认参数通常在函数参数列表的最后面。例如,下面的函数power接受两个参数base和exponent,默认的底数为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中函数参数传递的常见类型。根据具体的需求,可以选择适当的参数类型来定义函数。
