下面我来详细讲解 Python 中函数的参数类型。
Python 的函数参数类型可以分为以下几种:
- 必需位置参数
- 关键字参数
- 默认参数
- 可变位置参数
- 可变关键字参数
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.
在上述代码中,name
和 age
就是必需位置参数,调用函数时必需传递这两个参数。
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 中常用的函数参数类型,希望能够对你有所帮助。