Python编程入门第六讲:函数与模块24


欢迎来到Python编程入门系列的第六讲!在前五讲中,我们学习了Python的基础语法、数据类型、运算符、流程控制语句以及数据结构。相信大家对Python已经有了一个初步的了解。这一讲,我们将学习Python中非常重要的两个概念:函数和模块。掌握它们,将极大地提高我们的编程效率和代码可读性。

一、函数(Functions)

在编程中,函数是一段可重复使用的代码块,它接收输入(参数),执行特定操作,并返回输出(返回值)。使用函数可以将复杂的程序分解成小的、易于管理的模块,提高代码的可重用性和可维护性。 Python 使用 `def` 关键字定义函数:```python
def greet(name):
"""这是一个简单的问候函数。"""
print(f"Hello, {name}!")
greet("Alice") # 输出: Hello, Alice!
```

在这个例子中,`greet` 是函数名,`name` 是参数。函数体包含要执行的代码,用三个引号 (`"""Docstring"""`) 编写函数的文档字符串(docstring),用于解释函数的功能。 `print()` 函数用于打印输出。

函数可以有返回值: ```python
def add(x, y):
"""返回两个数的和。"""
return x + y
sum = add(5, 3)
print(sum) # 输出: 8
```

这里,`add` 函数返回 `x + y` 的值,赋给变量 `sum`。

函数的参数可以有默认值:```python
def greet(name, greeting="Hello"):
"""问候函数,greeting 参数有默认值。"""
print(f"{greeting}, {name}!")
greet("Bob") # 输出: Hello, Bob!
greet("Charlie", "Good morning") # 输出: Good morning, Charlie!
```

函数还可以接收任意数量的参数,使用 `*args` (用于位置参数) 和 `kwargs` (用于关键字参数):```python
def print_all(*args, kwargs):
"""打印所有参数。"""
print("Positional arguments:", args)
print("Keyword arguments:", kwargs)
print_all(1, 2, 3, name="Alice", age=30)
```

输出将包含位置参数元组和关键字参数字典。

二、模块(Modules)

模块是包含 Python 代码的文件,通常以 `.py` 为扩展名。模块可以包含函数、类、变量等,我们可以导入并使用其他模块中的代码,避免代码冗余,提高代码的可重用性。Python 提供了丰富的内置模块和第三方模块。

导入模块使用 `import` 语句:```python
import math
result = (25)
print(result) # 输出: 5.0
```

这个例子导入了 `math` 模块,并使用了其中的 `sqrt()` 函数计算平方根。

还可以使用 `from...import` 语句导入模块中的特定函数或变量:```python
from math import sqrt, pi
result = sqrt(16)
print(result) # 输出: 4.0
print(pi) # 输出: 3.141592653589793
```

这避免了每次使用函数时都写 `math.` 前缀。

为了避免命名冲突,可以使用 `as` 关键字为导入的模块或函数指定别名:```python
import math as m
result = (9)
print(result) # 输出: 3.0
```

三、函数与模块的结合

函数和模块结合使用,可以构建更加复杂的程序。我们可以将一些相关的函数组织成一个模块,然后在其他程序中导入和使用。这使得代码更加模块化,易于维护和扩展。例如,我们可以创建一个名为 `` 的模块,包含一些常用的函数:```python
#
def add(x, y):
return x + y
def subtract(x, y):
return x - y
```

然后在另一个 Python 文件中导入并使用:```python
#
import my_utils
result1 = (10, 5)
result2 = (10, 5)
print(result1) # 输出: 15
print(result2) # 输出: 5
```

通过学习函数和模块,我们可以编写更结构化、更易于维护和扩展的Python程序。 下一讲,我们将学习面向对象编程的基础知识。

2025-06-02


上一篇:Python编程及其应用:从入门到进阶的PDF资源指南

下一篇:Python网络编程作业实战详解:从基础到进阶