Python 编写函数的基础知识
函数是执行特定任务的命名代码块。
它们允许您通过将可重用代码分组到可调用的段中来避免重复。
功能:
函数是旨在执行单个明确定义的任务的命名代码块。
您需要执行任务时,只需 “调用” 该函数,该函数会告诉 Python 运行其中的代码。
def greet_user():
print("Hello!")
greet_user() # Output: Hello!
>>
Hello!
为什么要使用函数?
可以编写一次函数,然后在需要时调用它,而不是多次为同一任务重复代码。
将信息传递给函数:
- 参数:这些是函数定义中括号内列出的变量。
- 参数:调用函数时,您需要为这些参数提供值。
def greet_user(username):
print(f"Hello, {username.title()}!")
greet_user('jesse')
>>
Hello, Jesse!
参数类型:
位置参数:
将参数传递给函数的最简单方法。
顺序很重要,Python 按位置将每个参数分配给相应的参数。
def describe_pet(animal_type, pet_name):
print(f"I have a {animal_type} named {pet_name}.")
describe_pet('dog', 'Willie')
>>
I have a dog named Willie.
关键字参数:
作为 name=value 对传递的参数,允许您无需担心顺序。
def describe_pet(animal_type, pet_name):
print(f"I have a {animal_type} named {pet_name}.")
describe_pet(animal_type='hamster', pet_name='Harry')
>>
I have a hamster named Harry.
默认值:
您可以为函数定义中的参数分配默认值。如果未提供参数,则 Python 使用默认值。
def describe_pet(pet_name, animal_type='dog'):
print(f"I have a {animal_type} named {pet_name}.")
describe_pet('Willie')
>>
I have a dog named Willie.
避免参数错误:
- 如果传递给函数的参数数量与定义的参数数量不匹配,Python 将引发错误。
- 参数太少:如果您没有提供足够的参数,Python 会告诉您缺少哪些参数。
- 参数过多:如果提供的参数过多,Python 还会引发错误,指示不匹配。
def describe_pet(pet_name, animal_type='dog'):
print(f"I have a {animal_type} named {pet_name}.")
describe_pet()
# Missing 2 required positional arguments: 'animal_type' and 'pet_name'
练习
显示消息:编写一个函数 display_message() 来打印您在本章中学到的内容。调用该函数以确保其正确显示。
def display_message():
print("I am learning how to use functions in Python.")
display_message()
# Output: I am learning how to use functions in Python.
Favorite Book:编写一个函数 favorite_book(),该函数接受参数 title 并输出类似“One of my favorite books is Alice in Wonderland”的消息。
def favorite_book(title):
print(f"One of my favorite books is {title}.")
favorite_book('Alice in Wonderland')
# Output: One of my favorite books is Alice in Wonderland.
位置与关键字参数:
- 位置参数:必须与函数定义中的参数的顺序相同。
- Keyword Arguments:在函数调用中显式命名参数,因此顺序无关紧要。
describe_pet('hamster', 'Harry') # Positional
describe_pet(animal_type='hamster', pet_name='Harry') # Keyword
多个函数调用
可以根据需要使用不同的参数多次调用函数。这使得函数具有高度可重用性。
describe_pet('hamster', 'Harry')
describe_pet('dog', 'Willie') # Multiple calls with different data
函数可以存储在称为 modules 的单独文件中,以保持主程序文件的井井有条。这对于大型程序很有用。
函数是 Python 编程的基础构建块之一。
它们可帮助您将复杂任务分解为可管理的部分,避免冗余,并提高代码的可读性和可维护性。
通过掌握函数,您将使您的编程生活更轻松,使您的代码更高效。