python中函数的参数类型

  • Post category:Python

下面我来详细讲解 Python 中函数的参数类型。

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

  1. 必需位置参数
  2. 关键字参数
  3. 默认参数
  4. 可变位置参数
  5. 可变关键字参数

1. 必需位置参数

必需位置参数是函数定义时必须要指定的参数,调用函数时必须按照给定的参数顺序传递参数。例子如下:

def greet(name, age):
    print(f"Hi, my name is {name} and I'm {age} years old.")

greet("Tom", 20)  # Hi, my name is Tom and I'm 20 years old.

在上述代码中,nameage 就是必需位置参数,调用函数时必需传递这两个参数。

2. 关键字参数

关键字参数是通过在参数名前加上 参数名= 的方式来传递参数的。相比必需位置参数,关键字参数可以任意顺序传递参数,也可以只传递部分参数。例子如下:

def greet(name, age):
    print(f"Hi, my name is {name} and I'm {age} years old.")

greet(age=20, name="Tom")  # Hi, my name is Tom and I'm 20 years old.

在上述代码中,我们通过 name=age= 的方式来传递参数,可以看到,参数的顺序不同返回的结果也不同。

3. 默认参数

默认参数是在函数定义时给参数赋予一个默认值,如果调用函数时没有传递该参数,则使用默认值。例子如下:

def greet(name, age=20):
    print(f"Hi, my name is {name} and I'm {age} years old.")

greet("Tom")  # Hi, my name is Tom and I'm 20 years old.
greet("Tom", 25)  # Hi, my name is Tom and I'm 25 years old.

在上述代码中,age=20 就是一个默认参数,如果我们调用 greet 函数时没有传递 age 参数,则会使用默认值 20

4. 可变位置参数

可变位置参数允许函数接受变长的参数列表,这些参数都被封装成一个元组传递给函数。例子如下:

def get_sum(*args):
    return sum(args)

print(get_sum(1, 2, 3))  # 6
print(get_sum(1, 2, 3, 4, 5))  # 15

在上述代码中,我们使用了一个星号 * 前缀来将参数 args 变为可变位置参数,然后在函数内使用 sum 函数对传入的参数求和。

5. 可变关键字参数

可变关键字参数允许函数接受变长的关键字参数,这些参数都被封装成一个字典传递给函数。例子如下:

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

print_info(name="Tom", age=20, gender="male")

在上述代码中,我们使用了两个星号 ** 前缀来将参数 kwargs 变为可变关键字参数,然后在函数内使用 items 函数遍历传入的参数字典并打印出每个键值对。

这些就是 Python 中常用的函数参数类型,希望能够对你有所帮助。