- 位置参数
def func(x, y):
pass
位置参数是按照函数定义时的顺序来传递的参数。调用函数时,必须按照定义的顺序传递相应的值。
位置参数之间没有特定的关联关系,可以随意调整顺序。
- 默认值参数
def func(x, y='默认值'):
pass
默认值参数是在函数定义时为参数指定了一个默认值。如果在调用函数时没有传递对应的值,那么将使用默认值作为参数的值。
默认值参数可以有多个,也可以没有。
默认值参数一定要在位置参数的后面。
- 可变参数
def func(x, y, *args):
pass
可变参数允许在函数调用时传入任意数量的参数。
可变参数使用 *args 表示,它是一个元组类型。
可变参数可以接受任意数量的位置参数,并且不需要按照特定的顺序传递。
可变参数可以有0个、1个或多个。
- 关键字参数
def func(x, y, **args):
pass
关键字参数允许在函数调用时通过参数名指定参数的值。
关键字参数使用 **args 表示,它是一个字典类型。
关键字参数可以接受任意数量的命名参数,并且不需要按照特定的顺序传递。
关键字参数可以有0个、1个或多个。
- 命名关键字参数:
def func(x, y, *, z):
pass
命名关键字参数是一种结合了位置参数和关键字参数的特性。允许在函数调用时通过指定的名称来传递参数的值。
命名关键字参数使用*来分隔位置参数和关键字参数,然后使用**来接收关键字参数。
命名关键字参数可以有0个、1个或多个位置参数和一个或多个关键字参数。