8.1定义函数
示例
def greet_user(): print("hello") greet_user()
8.1.1向函数传递参数
以参数作为形式传递参数
def greet_user(username): #形参 print(f"hello,{username.title()}") greet_user("jesse") #实参
8.2传递实参
函数定义中可能有多个形参,也就是说对应着的调用函数中不止一个实参。传递多个参数的方式为:位置实参。这要求实参的顺序与形参的顺序要相同。
8.2.1 位置实参
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")
1.多次调用函数
可以根据需要调用函数任意次
describe_pet("hamster", "harry") describe_pet("dog", "willie")
2.位置实参的顺序很重要
使用位置实参来调用函数,如果实参的顺序不正确,结果可能出乎意料
8.2.2关键字实参
关键字实参是传递给函数的名称值对。
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(animal_type="hamster",pet_name="harry") describe_pet(pet_name="harry", animal_type="hamster")
使用关键字实参的话这两句是等效的,Python知道各个值应该如何传递
8.2.3 默认值
可指定函数形参的默认值。
def describe_pet(animal_type, pet_name = "dog"): print(f"\nI have a {animal_type}.") print(f"My {animal_type}'s name is {pet_name.title()}") describe_pet(animal_type="hamster",pet_name="harry") describe_pet( animal_type="hams