第5节 函数
在这一节中,我们将详细介绍 Python 中的函数。函数是组织和重用代码的重要方式,可以帮助我们编写更模块化、更易维护的程序。我们将学习如何定义函数、传递参数、返回值以及使用匿名函数(lambda 表达式)。
5.1 定义函数
在 Python 中,使用 def
关键字来定义函数。函数可以接受参数并返回值。
基本语法:
def function_name(parameters):
# 函数体
return value # 可选
示例:
def greet(name):
"""打印问候语"""
print(f"Hello, {name}!")
greet("Alice") # 输出 "Hello, Alice!"
5.2 函数参数
函数可以接受不同类型的参数,包括必需参数、关键字参数、默认参数和不定长参数。
5.2.1 必需参数
必需参数是指调用函数时必须传递的参数,且参数的顺序必须与定义时一致。
示例:
def add(a, b):
"""返回两个数的和"""
return a + b
result = add(3, 5)
print(result) # 输出 8
5.2.2 关键字参数
关键字参数允许我们在调用函数时使用参数名来传递参数,这样可以不按顺序传递参数。
示例:
def describe_pet(animal_type, pet_name):
"""显示宠物的信息"""
print(f"I have a {animal_type}.")
print(f"My {animal_type}'s name is {pet_name}.")
describe_pet(animal_type="hamster", pet_name="Harry")
describe_pet(pet_name="Harry", animal_type="hamster")
5.2.3 默认参数
默认参数是指在定义函数时为参数提供一个默认值,如果调用函数时没有传递该参数,则使用默认值。
示例:
def describe_pet(pet_name, animal_type="dog"):
"""显示宠物的信息"""
print(f"I have a {animal_type}.")
print(f"My {animal_type}'s name is {pet_name}.")
describe_pet(pet_name="Willie") # 输出 "I have a dog." 和 "My dog's name is Willie."
describe_pet(pet_name="Harry", animal_type="hamster") # 输出 "I have a hamster." 和 "My hamster's name is Harry."
5.2.4 不定长参数
不定长参数允许我们在调用函数时传递任意数量的参数。
args
:用于传递任意数量的位置参数,参数会被收集到一个元组中。kwargs
:用于传递任意数量的关键字参数,参数会被收集到一个字典中。
示例:
def make_pizza(size, *toppings):
"""概述要制作的比萨"""
print(f"\nMaking a {size}-inch pizza with the following toppings:")
for topping in toppings:
print(f"- {topping}")
make_pizza(16, "pepperoni")
make_pizza(12, "mushrooms", "green peppers", "extra cheese")
def build_profile(first, last, **user_info):
"""创建一个字典,其中包含我们知道的有关用户的一切"""
profile = {"first_name": first, "last_name": last}
for key, value in user_info.items():
profile[key] = value
return profile
user_profile = build_profile("albert", "einstein", location="princeton", field="physics")
print(user_profile)
5.3 返回值
函数可以使用 return
语句返回一个值。如果函数没有 return
语句,或者 return
语句后面没有值,函数将返回 None
。
示例:
def add(a, b):
"""返回两个数的和"""
return a + b
result = add(3, 5)
print(result) # 输出 8
def greet(name):
"""返回问候语"""
return f"Hello, {name}!"
message = greet("Alice")
print(message) # 输出 "Hello, Alice!"
5.4 匿名函数(lambda 表达式)
lambda 表达式是一种创建匿名函数的方式,通常用于需要简单函数的地方,如排序或过滤。
基本语法:
lambda arguments: expression
示例:
# 定义一个 lambda 表达式
square = lambda x: x ** 2
print(square(4)) # 输出 16
# 使用 lambda 表达式排序
numbers = [1, 3, 2, 5, 4]
sorted_numbers = sorted(numbers, key=lambda x: x)
print(sorted_numbers) # 输出 [1, 2, 3, 4, 5]
# 使用 lambda 表达式过滤
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers) # 输出 [2, 4]
小结
通过本节的学习,你应该已经掌握了 Python 中函数的基本概念和用法,包括如何定义函数、传递参数、返回值以及使用匿名函数(lambda 表达式)。函数是编写模块化和可重用代码的重要工具,能够帮助你更好地组织和管理代码。下一节我们将继续学习 Python 中的文件操作。
本文由mdnice多平台发布
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。