Python函数的参数传递

函数的参数传递是指将实际参数传递给形式参数的过程,根据不同的传递形式,函数的参数可分为位置参数,关键字参数,默认值参数,不定长参数。

一 位置参数

调用函数时,编译器会将函数的实际参数按照位置顺序依次传递给形式参数,依次类推。

代码举例如下:

def weather(today, temp, air_quality):
    print('*'*13)
    print(f"日期:{today}")
    print(f"温度:{temp}")
    print(f"空气质量:{air_quality}")
    print('*' * 13)
weather(4.28,18,"好")

结果如下:

*************
日期:4.28
温度:18
空气质量:好
*************

二 关键字参数

关键字参数传递通过“形式参数=实际参数”的格式将实际参数与形式参数相关联,根据形式参数的名称进行参数传递。

代码举例如下:

def weather(today, temp, air_quality):
    print('*'*13)
    print(f"日期:{today}")
    print(f"温度:{temp}")
    print(f"空气质量:{air_quality}")
    print('*' * 13)
weather(today=4.28,temp=18,air_quality="好")

结果如下:

*************
日期:4.28
温度:18
空气质量:好
*************

三 默认参数

定义参数时可以指定形式参数的默认值,调用函数时,若没有给带有默认值的形式参数传值,则直接使用参数的默认值;若给带有默认值的形参传值,则实际参数的值会覆盖默认值。

举例代码如下:

def weather(today, temp, air_quality="优良"):
    print('*'*13)
    print(f"日期:{today}")
    print(f"温度:{temp}")
    print(f"空气质量:{air_quality}")
    print('*' * 13)
weather(4.28,20)#形参使用默认值
weather(today=4.29,temp=18,air_quality="好")#形参使用传入值

运行结果:

*************
日期:4.28
温度:20
空气质量:优良
*************
*************
日期:4.29
温度:18
空气质量:好
*************

四 不定长参数

若要传入函数中的参数的个数不确定,可以使用不定长参数。不定长参数也称可变参数,此种参数接收参数的数量可以任意改变。

1 *args

不定长参数*args用于接收不定数量的位置参数,调用函数时传入的所有参数被*args接收后以元组形式保存。

举例代码如下:

def weather(*args):
    print(args)
weather(1,2,3,4,5,6,'a','b','c')

运行结果如下:

(1, 2, 3, 4, 5, 6, 'a', 'b', 'c')

2 **kwargs

不定长参数**kwargs用于接收不定数量的关键字的关键字参数,调用函数时传入的所有参数被**kwargs接收后以字典形式保存。

举例代码如下:

def weather(**kwargs):
    print(kwargs)
weather(a=1,b=2,c=3)

运行结果如下:

{'a': 1, 'b': 2, 'c': 3}

你可能感兴趣的:(python,python,开发语言)