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

Python函数中参数传递的方式有哪些?

发布时间:2023-06-16 00:36:08

Python是一门支持多种参数传递方式的编程语言,这些方式包括位置参数、默认参数、可变参数和关键字参数。

1. 位置参数:

位置参数是最基本的参数传递方式,它按照参数定义顺序来传递函数的参数。在调用函数时,需要按照定义的顺序传递参数,并且不能省略任何一个必需的参数。

如下代码所示,包含两个参数的函数add,通过位置参数完成参数传递。

def add(a, b):

    return a + b

print(add(1, 2))   # 输出3

2. 默认参数:

默认参数是在定义函数时为参数设置一个默认值,当调用函数时,如果没有传递该参数,则使用默认值。可以通过形如”参数名=默认值”的语法来定义默认参数。

如下代码所示,通过设置参数值为10,将该参数设置为了默认值。

def add(a, b=10):

    return a + b

print(add(1))   # 输出11

print(add(1, 2))   # 输出3

3. 可变参数:

可变参数允许在调用函数时传递任意数量的参数,这些参数会被包装成一个元组或列表传递。函数定义时,在参数前面加上一个星号“*”,表示接收任意数量的参数。调用可变参数函数时,可以传递任意数量的参数,包括0个。

如下代码所示,函数可以接受任意数量的参数。

def add(*args):

    total = 0

    for i in args:

        total += i

    return total

print(add())   # 输出0

print(add(1))   # 输出1

print(add(1, 2))   # 输出3

print(add(1, 2, 3))   # 输出6

4. 关键字参数:

关键字参数允许在调用函数时以key=value的形式传递参数,调用函数时,没有按照顺序传递的参数必须指定参数名。函数定义时,在参数前面加上两个星号“**”,表示接收任意数量的关键字参数。

如下代码所示,函数可以接受任意数量的关键字参数。在调用函数时传递参数时,需要使用参数名作为关键字。

def print_info(name, age, **kwargs):

    print("Name: ", name)

    print("Age: ", age)

    print("Other Info:")

    for key, value in kwargs.items():

        print(key, ':', value)

print_info("John", 27, gender='male', salary=3500)   # 输出Name: John, Age: 27, Other Info: gender: male, salary: 3500

总之,在Python函数中参数传递方式有很多种,通过不同的方式来传递参数,能够满足不同函数的需求。而熟练掌握这些参数传递方式,则能够为我们开发更加高效,灵活的函数提供帮助。