标签:8.1 8.2 name python dog pet animal 实参 type
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.
>>>
标签:8.1,8.2,name,python,dog,pet,animal,实参,type 来源: https://www.cnblogs.com/ylzchs/p/14286930.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。