【Python】模块

个人主页:Guiat
归属专栏:Python

文章目录

  • [1. 模块的概念](#1. 模块的概念)
  • [2. 模块的创建](#2. 模块的创建)
  • [3. 模块的导入](#3. 模块的导入)
  • [3.1 `import` 语句](#3.1 import 语句)
    • [3.2 `from...import` 语句](#3.2 from...import 语句)
    • [3.3 `from...import *` 语句](#3.3 from...import * 语句)
  • [4. 模块的搜索路径](#4. 模块的搜索路径)
  • [5. 模块的内置属性](#5. 模块的内置属性)
    • [5.1 `name` 属性](#5.1 __name__ 属性)
    • [5.2 `doc` 属性](#5.2 __doc__ 属性)
  • [6. 标准库模块](#6. 标准库模块)
    • [6.1 `math` 模块](#6.1 math 模块)
    • [6.2 `random` 模块](#6.2 random 模块)
    • [6.3 `os` 模块](#6.3 os 模块)
  • [7. 第三方模块](#7. 第三方模块)
    • [7.1 安装第三方模块](#7.1 安装第三方模块)
    • [7.2 使用第三方模块](#7.2 使用第三方模块)

正文

1. 模块的概念

在 Python 里,模块是一个包含 Python 定义和语句的文件,其文件名以 .py 结尾。模块可以定义函数、类和变量,还能包含可执行的代码。使用模块能够将代码组织成多个文件,增强代码的可维护性和可复用性。

2. 模块的创建

简单模块示例:

创建一个简单的模块,例如创建一个名为 math_operations.py 的文件,内容如下:

python 复制代码
# math_operations.py
def add(a, b):
    return a + b

def subtract(a, b):
    return a - b

PI = 3.14159

在这个模块中,定义了两个函数 addsubtract,还定义了一个常量 PI

3. 模块的导入

3.1 import 语句

使用 import 语句可以导入整个模块。导入后,可以使用模块名作为前缀来访问模块中的函数、类和变量。

python 复制代码
import math_operations

result_add = math_operations.add(3, 5)
print(result_add)  

result_subtract = math_operations.subtract(10, 4)
print(result_subtract)  

print(math_operations.PI)  

3.2 from...import 语句

使用 from...import 语句可以从模块中导入特定的函数、类或变量,导入后可以直接使用这些名称,无需加模块名前缀。

python 复制代码
from math_operations import add, PI

result = add(2, 7)
print(result)  

print(PI)  

3.3 from...import * 语句

使用 from...import * 语句可以导入模块中的所有内容。不过这种方式可能会导致命名冲突,不建议在生产代码中大量使用。

python 复制代码
from math_operations import *

result = subtract(8, 3)
print(result)  

4. 模块的搜索路径

当使用 import 语句导入模块时,Python 会按照以下顺序搜索模块:

  1. 当前目录:Python 首先会在当前运行脚本所在的目录中查找模块。
  2. 环境变量 PYTHONPATH 包含的目录 :可以通过设置 PYTHONPATH 环境变量来指定额外的模块搜索路径。
  3. Python 安装目录下的标准库目录:Python 自带的标准库模块会在这里被找到。

可以通过 sys.path 查看 Python 的模块搜索路径:

python 复制代码
import sys
print(sys.path)

5. 模块的内置属性

5.1 __name__ 属性

每个模块都有一个 __name__ 属性,当模块作为脚本直接运行时,__name__ 的值为 '__main__';当模块被其他模块导入时,__name__ 的值为模块名。可以利用这个属性来区分模块是作为脚本运行还是被导入。

python 复制代码
# math_operations.py
def add(a, b):
    return a + b

if __name__ == '__main__':
    result = add(2, 3)
    print(result)

5.2 __doc__ 属性

__doc__ 属性用于获取模块的文档字符串,即模块文件开头用三引号括起来的说明性文字。

python 复制代码
# math_operations.py
"""
这是一个用于数学运算的模块。
包含加法和减法函数。
"""
def add(a, b):
    return a + b

import math_operations
print(math_operations.__doc__)

6. 标准库模块

Python 拥有丰富的标准库模块,这些模块提供了各种功能,例如文件操作、网络编程、数据处理等。以下是一些常用标准库模块的示例:

6.1 math 模块

提供了数学相关的函数和常量。

python 复制代码
import math

result = math.sqrt(16)
print(result)  

print(math.pi)  

6.2 random 模块

用于生成随机数。

python 复制代码
import random

random_number = random.randint(1, 10)
print(random_number)  

6.3 os 模块

提供了与操作系统交互的功能,例如文件和目录操作。

python 复制代码
import os

# 获取当前工作目录
current_dir = os.getcwd()
print(current_dir)  

7. 第三方模块

除了标准库模块,Python 还有大量的第三方模块,这些模块可以通过包管理工具(如 pip)进行安装和使用。例如,numpy 用于科学计算,pandas 用于数据处理和分析。

7.1 安装第三方模块

使用 pip 安装 numpy 模块:

bash 复制代码
pip install numpy

7.2 使用第三方模块

python 复制代码
import numpy as np

arr = np.array([1, 2, 3, 4, 5])
print(arr)  

以上是一个使用第三方模块的简单例子。

结语

感谢您的阅读!期待您的一键三连!欢迎指正!

相关推荐
带娃的IT创业者13 分钟前
《Python实战进阶》No39:模型部署——TensorFlow Serving 与 ONNX
pytorch·python·tensorflow·持续部署
Bruce-li__20 分钟前
深入理解Python asyncio:从入门到实战,掌握异步编程精髓
网络·数据库·python
九月镇灵将30 分钟前
6.git项目实现变更拉取与上传
git·python·scrapy·scrapyd·gitpython·gerapy
小张学Python1 小时前
AI数字人Heygem:口播与唇形同步的福音,无需docker,无需配置环境,一键整合包来了
python·数字人·heygem
跳跳糖炒酸奶1 小时前
第四章、Isaacsim在GUI中构建机器人(2):组装一个简单的机器人
人工智能·python·算法·ubuntu·机器人
步木木2 小时前
Anaconda和Pycharm的区别,以及如何选择两者
ide·python·pycharm
星始流年2 小时前
解决PyInstaller打包PySide6+QML应用的资源文件问题
python·llm·pyspider
南玖yy2 小时前
Python网络爬虫:从入门到实践
爬虫·python
The Future is mine2 小时前
Python计算经纬度两点之间距离
开发语言·python
九月镇灵将2 小时前
GitPython库快速应用入门
git·python·gitpython