今天复习了while循环里的剩余部分和函数,最近中午没有运动,吃完午饭看书晕碳好严重啊。
- 定义函数 greet_user():括号内指出函数为完成任务需要的信息;“”“”“”标注的是文档字符串的注释。
def greet_user():
"""显示简单的问候语"""
print("Hello!")
greet_user()
- 向函数传递信息 在括号内添加参数,调用时给参数指定任何值
def greet_user(username):
"""显示简单的问候语"""
print(f"Hello,{username.title()}!")
greet_user('coco')
- 实参和形参 上述例子里,username是形参,coco是实参
练习
- 消息
def display_message(topic):
"""用于指出本章的主题"""
print(f"本章的主题是{topic}.")
display_message("函数")
- 喜欢的书
def favorite_book(title):
"""指出喜欢的书"""
print(f"One of my favorite books is {title}.")
favorite_book('Alice in Wonderland')
- 传递实参
- 位置实参:基于实参的==顺序==进行关联。 pets.py
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('dog','lailai')
# 》 I have a dog.
# 》 My dog's name is Lailai.
- 关键字实参:传递给函数的名值对,可以==不考虑实参顺序==。 describe_pet()
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='dog',pet_name'lailai')
# 》 I have a dog.
# 》 My dog's name is Lailai.
- 默认值:如果在形参中指定了默认值,当输入实参时,没有指定,则返回默认值。 describe_pet()
def describe_pet(animal_type='dog',pet_name):
"""显示宠物的信息"""
print(f"\nI have a {animal_type}.")
print(f"My {animal_type}'s name is {pet_name.title()}.")
describe_pet(pet_name='lailai')#或者也可以在定义形参的时候将pet_name放到第一个,这样调用的时候可以直接写实参。
#describe_pet('lailai')
# 》 I have a dog.
# 》 My dog's name is Lailai.
==注意:若要定义非默认值的实参,必须将其他没有默认值的形参也列出,并按照位置顺序来,否则会理解错误。