8 函数与模块
在上一篇中,我们学习了Python的基础语法,并掌握了一些基本的编程概念。本篇将深入探讨函数
与模块
的概念,这些内容对于我们后续开发飞机坦克大战项目至关重要。函数和模块不仅能够提高代码的重用性,还能帮助我们保持代码的结构和可读性。
函数
什么是函数?
函数
是在代码中执行特定任务的独立块。定义一个函数可以使用def
关键字,后面跟函数名和参数列表。函数可以接受输入并返回输出,从而将复杂的操作简化为简单的调用。
函数的基本结构
一个简单函数的结构如下:
def function_name(parameters):
"""函数文档字符串"""
# 执行的代码
return result
创建一个简单的函数
以下是一个简单的示例,定义一个计算飞机与坦克之间距离的函数:
import math
def calculate_distance(x1, y1, x2, y2):
"""计算两点之间的欧几里得距离"""
distance = math.sqrt((x2 - x1)**2 + (y2 - y1)**2)
return distance
在这个示例中,calculate_distance
函数接受四个参数,分别代表两个点的坐标,然后返回这两点之间的距离。
调用函数
可以通过使用函数名和提供参数来调用函数:
# 调用函数并打印结果
point1 = (0, 0)
point2 = (3, 4)
distance = calculate_distance(point1[0], point1[1], point2[0], point2[1])
print(f"距离是: {distance}")
输出结果为:
距离是: 5.0
模块
什么是模块?
模块
是一个Python文件,它包含了一组函数和变量。模块的主要目的是为了组织代码,并提高代码的重用性。可以将相关的函数放在一个模块中,然后在其他Python文件中导入使用。
编写和导入模块
首先,我们创建一个名为game_utils.py
的文件,其中可以定义多个有用的函数。例如,我们可以在这个模块中添加之前的calculate_distance
函数:
# game_utils.py
import math
def calculate_distance(x1, y1, x2, y2):
"""计算两点之间的欧几里得距离"""
distance = math.sqrt((x2 - x1)**2 + (y2 - y1)**2)
return distance
def is_within_range(distance, threshold):
"""判断目标是否在攻击范围内"""
return distance <= threshold
在这个模块中,我们还新增了一个函数is_within_range
,用于判断两个物体(比如飞机与坦克)之间的距离是否在攻击范围内。
导入模块
在另一个Python文件中,我们可以使用import
语句导入我们的模块:
# main.py
from game_utils import calculate_distance, is_within_range
point1 = (0, 0)
point2 = (3, 4)
distance = calculate_distance(point1[0], point1[1], point2[0], point2[1])
print(f"距离是: {distance}")
threshold = 6
if is_within_range(distance, threshold):
print("目标在攻击范围内!")
else:
print("目标不在攻击范围内.")
输出结果为:
距离是: 5.0
目标在攻击范围内!
小结
在这一节中,我们探讨了函数
和模块
的基本概念。我们了解了如何定义函数、如何调用函数,并在实际代码中应用了这些知识。通过使用模块,我们可以更好地组织我们的代码,使其结构化、可读性高、易于维护。
在下一篇中,我们将继续探讨类
与对象
的概念,这将帮助我们更进一步地设计我们的飞机坦克大战项目。