1.实参和形参
#username为形参 def greet_user(username): print("hello "+username.title()+"!") #将实参"tom"传递给greet_user(),这个值被存储在形参username中 greet_user("tom") >>> ===================== RESTART: D:/python学习/第8章 函数/8.1.py ===================== hello Tom! >>>
2.传递实参
2.1位置实参
def describe_pet(animal_type,pet_name): """显示宠物的信息""" print("\nI have a "+animal_type+".") print("My "+animal_type+"'s name is "+pet_name.title()+'.') describe_pet("hamster","harry") describe_pet("dog","willie") '''函数调用中每个实参基于顺序关联到函数定义中的每个形参,这种关联方式称为位置实参''' >>> ==================== RESTART: D:/python学习/第8章 函数/pets.py ==================== I have a hamster. My hamster's name is Harry. I have a dog. My dog's name is Willie. >>>
2.2关键字实参
def describe_pet(animal_type,pet_name): """显示宠物的信息""" print("\nI have a "+animal_type+".") print("My "+animal_type+"'s name is "+pet_name.title()+'.') describe_pet(animal_type="hamster",pet_name="harry") describe_pet(pet_name="willie",animal_type="dog") '''关键字实参是传递给函数的名称-值对,直接在实参中将名称和值关联起来不受顺序影响''' '''注意:使用关键字实参时,务必准确地指定函数定义中的形参名''' >>> ==================== RESTART: D:/python学习/第8章 函数/pets.py ==================== I have a hamster. My hamster's name is Harry. I have a dog. My dog's name is Willie. >>>
2.3形参指定默认值
#给形参指定默认值如animal_type="dog",在函数调用中如果给形参提供了实参时,python将使用指定的实参值,否则,将使用形参的默认值
#在此修改了形参的排列顺序,因为describe_pet("wangwang")只有一个位置实参,它将关联到函数的第一个形参
def describe_pet(pet_name,animal_type='dog'):
"""显示宠物的信息"""
print("\nI have a "+animal_type+".")
print("My "+animal_type+"'s name is "+pet_name.title()+'.')
#鉴于可混合使用位置实参、关键字实参和默认值,通常有多种等效的函数调用方式。
describe_pet("wangwang")
describe_pet(pet_name="harry")
describe_pet(animal_type="cat",pet_name="willie")
'''关键字实参是传递给函数的名称-值对,直接在实参中将名称和值关联起来不受顺序影响'''
'''注意:使用关键字实参时,务必准确地指定函数定义中的形参名'''
>>>
==================== RESTART: D:/python学习/第8章 函数/pets1.py ====================
I have a dog.
My dog's name is Wangwang.
I have a dog.
My dog's name is Harry.
I have a cat.
My cat's name is Willie.
>>>