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

Python中的函数参数有哪些类型及其区别

发布时间:2023-06-16 14:38:58

Python中函数参数是使用在函数定义中的变量,用来接收传入的参数值。Python中主要的函数参数类型有四种:位置参数、默认参数、可变参数和关键字参数。

1.位置参数

位置参数是Python中最基本的参数类型。函数的位置参数是按照参数的位置对应传递进来的,即第一个参数对应第一个位置参数,第二个参数对应第二个位置参数,以此类推。位置参数必须在函数调用时以相应的顺序传入,且必须传入足够数量的参数。

示例:

def my_func(x, y, z):

    print(x+y+z)

my_func(1, 2, 3)

结果输出:6

2.默认参数

默认参数是在函数定义过程中给予默认值的参数,如果用户在调用函数时没有传递该参数或传递了None,函数将使用默认值。当参数传递时,如果传递了实参,那么将使用传递的值。如果没有传递实参,则使用默认值。

示例:

def my_func(x=5, y=10, z=20):

    print(x+y+z)

  

my_func()

结果输出:35

3.可变参数

可变参数是允许用户在传递参数时传递不同数量的参数,这些参数都被封装成一个元组或列表变量,函数通过列表或元组变量来获取传递的参数。可变参数的形式参数前添加一个星号(*),表示可以传递多个参数,并将其封装成元组。

示例:

def my_func(*args):

    for i in args:

        print(i)

my_func(1, 2, 3, 'four', 'five')

结果输出:1 2 3 four five

4.关键字参数

关键字参数是特殊的形式参数,是通过键值对传递参数的方式,每个参数都有一个关键字和值,函数通过关键字来获取参数的值。关键字参数的形式参数前添加两个星号(**)表示可以传递任意数量的键值对参数,并将其封装成字典。

示例:

def my_func(**kwargs):

    for i, j in kwargs.items():

        print(i, j)

my_func(name='Tom', age=28, profession='Engineer')

结果输出:name Tom age 28 profession Engineer

总结:

位置参数是必须要传的参数,而默认参数可以不传,如果不传,则函数内使用默认值。可变参数和关键字参数都是可选参数,可传可不传。可变参数使用*来标记,可以传递任意数量的参数。关键字参数使用**来标记,可以传递任意数量的键值对参数。函数参数类型可以灵活地组合使用,可以根据自己的需要来使用不同的参数类型。