函数定义中可能包含多个形参,因此函数调用中也可能包含多个实参。向函数传递实参的方式有很多:可使用位置实参,这要求实参的顺序与形参的顺寻相同;也可使用关键字实参,其中每个实参都由变量名和值组成;还可以使用列表和字典。
8.2.1 位置实参
调用函数时,python必须将函数调用中的每个实参都关联到函数定义中的一个形参。为此,最简单的关联方式是基于实参的顺序。这种关联方式称为位置实参。
下面看一个显示宠物信息的函数,这个函数指出一个宠物属于哪种动物以及它叫什么名字,如下所示:
def describe_pet(animal_type,pet_name):
"""显示宠物的信息"""
print(f"\nI have a {animal_type}.")
print(f"My {animal_type}'s name is {pet_name.title()}.")
describe_pet('hamster','harry')
输出:
I have a hamster.
My hamster's name is Harry.
这个函数的定义表明,它需要一种动物类型和一个名字。调用describe_pet()时,需要按顺序提供一种动物类型和一个名字。例如,在上面的函数调用中,实参'hanmster'被赋给形参animal_type,形参 Harry被赋给 pet_name.在函数体中,使用了两个形参来显示宠物的信息。
输出:
I have a hamster.
My ha