欢迎访问宙启技术站
智能推送

Python函数参数详解:可变参数、关键字参数和默认参数

发布时间:2023-07-05 21:09:15

在Python中,函数的参数分为四种类型:位置参数、可变参数、关键字参数和默认参数。本文将详细介绍可变参数、关键字参数和默认参数。

可变参数是指在函数调用时,传入的参数个数是可变的。在Python中,可变参数有两种形式:*args和**kwargs。

*args是用来接收任意多个位置参数的元组,这意味着在函数调用时,可以传入任意个参数,并将这些参数存放在一个元组中。例如:

def func1(*args):
    for item in args:
        print(item)

func1(1, 2, 3)    # 输出:1 2 3
func1("apple", "banana", "cherry")    # 输出:apple banana cherry

**kwargs是用来接收任意多个关键字参数的字典,这意味着在函数调用时,可以传入任意个键值对,并将这些键值对存放在一个字典中。例如:

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

func2(name="Jack", age=20)    # 输出:name: Jack  age: 20
func2(city="New York", country="USA")    # 输出:city: New York  country: USA

关键字参数是指在函数调用时,通过指定参数名称来传递参数值。在Python中,关键字参数必须位于位置参数之后。例如:

def func3(name, age):
    print(f"Name: {name}")
    print(f"Age: {age}")

func3("Tom", 25)    # 输出:Name: Tom  Age: 25
func3(age=30, name="John")    # 输出:Name: John  Age: 30

默认参数是在函数定义时就给定默认值的参数。在函数调用时,如果不指定该参数的值,就会使用默认值。例如:

def func4(name, age=18):
    print(f"Name: {name}")
    print(f"Age: {age}")

func4("Tom")    # 输出:Name: Tom  Age: 18
func4("John", 30)    # 输出:Name: John  Age: 30

需要注意的是,默认参数必须在位置参数之后。如果默认参数位于位置参数之前,就会导致调用函数时无法正常传参。

总结:在Python中,有四种函数参数类型:位置参数、可变参数、关键字参数和默认参数。可变参数用*args表示,可以接收任意个位置参数的元组;关键字参数用**kwargs表示,可以接收任意个关键字参数的字典;默认参数是在函数定义时给定默认值的参数;关键字参数必须位于位置参数之后。