第十一节:函数参数

第十一节:函数参数

不过尔尔 5 2021-06-21

位置参数(Positional Arguments)

位置参数是最常见的函数参数类型,它们按照函数定义的顺序传递给函数。当你调用一个函数时,你需要按照函数参数的顺序提供相应的值。

示例:

 def add(x, y):
     return x + y
 ​
 result = add(3, 5)  # 3 被传递给 x,5 被传递给 y

关键字参数(Keyword Arguments)

关键字参数是通过参数名来传递的,它们不依赖于参数的位置。使用关键字参数可以提高函数调用的可读性,并允许你跳过一些可选参数。

示例:

 def greet(name, age):
     print(f"Hello, {name}! You are {age} years old.")
 ​
 greet(name="Alice", age=30)  # 使用关键字参数
 greet(age=25, name="Bob")    # 参数的顺序可以不同

默认参数(Default Arguments)

默认参数是在函数定义中指定默认值的参数,如果调用函数时未提供相应参数的值,将使用默认值。

示例:

 def greet(name="Guest"):
     print(f"Hello, {name}!")
 ​
 greet()           # 使用默认值 "Guest"
 greet("Alice")    # 使用提供的值 "Alice"

可变参数(Variable Arguments)

有时候,你不知道函数会接受多少个参数。在这种情况下,你可以使用可变参数。Python提供了两种可变参数类型:*args**kwargs

  • *args:用于传递任意数量的位置参数,这些参数将被封装成一个元组。

  • **kwargs:用于传递任意数量的关键字参数,这些参数将被封装成一个字典。

示例:

 def add(*args):
     result = 0
     for num in args:
         result += num
     return result
 ​
 sum1 = add(1, 2, 3)           # 1 + 2 + 3 = 6
 sum2 = add(10, 20, 30, 40)    # 10 + 20 + 30 + 40 = 100
 ​
 def print_info(**kwargs):
     for key, value in kwargs.items():
         print(f"{key}: {value}")
 ​
 print_info(name="Alice", age=30)  # 使用关键字参数

参数的组合使用

你可以组合使用不同类型的函数参数,但要注意参数的顺序:位置参数必须在关键字参数之前,而默认参数必须在可变参数之前。

示例:

 def func(a, b, *args, x=0, y=0, **kwargs):
     # a 和 b 是位置参数
     # x 和 y 是默认参数
     # args 是可变位置参数
     # kwargs 是可变关键字参数
     pass

函数参数允许你在函数调用时提供不同类型的数据,使你的函数更加灵活和通用。根据具体的需求,选择合适的参数类型以及它们的组合。