一、位置实参
用位置实参位 ,这要求实参的顺序与形参的顺序相同
def describe_pet(animal_type,pet_name):
print("\n I have a " + animal_type+".")
print("My "+ pet_name+ "'s name is "+pet_name.title() +'.')
describe_pet('hamster','harry') #使用了这两个形参来显示宠物的信息
describe_pet('dog','whillie')
注意:使用位置实参来调用函数时,如果实参的顺序不正确,结果可能出乎意料:
二、关键字参数
关 是传递给函数的名称—值对。你直接在实参中将名称和值关联起来了,因此向函数传递实参时不会混淆,无需考虑函数调用中的实参顺序,还清楚地指出了函数调用中各个值的用途。
def describe_pet1(animal_type1,pet_name1):
print("\n I have a "+animal_type1+'.')
print("My "+animal_type1+"'s name is "+pet_name1.title()+".")
describe_pet1(animal_type1='hamster',pet_name1='harry')#关键字参数
describe_pet1(pet_name1='harry',animal_type1='hamster')
注意:使用关键字实参时,务必准确地指定函数定义中的形参名
三、默认值
编写函数时,可给每个形参指定默认值
def describe_pet2(pet_name2,animal_type2='dog'):#注意将没有默认值的参数在定义时放在了有默认值的参数的前面,放在后面会报错的
print("\n I have a "+animal_type2+'.')
print("My "+animal_type2+"'s name is "+pet_name2.title()+".")
describe_pet2('willie')