【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)  

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

结语

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

相关推荐
笨鸟笃行9 分钟前
爬虫第七篇数据爬取及解析
开发语言·爬虫·python
java1234_小锋15 分钟前
一周学会Flask3 Python Web开发-response响应格式
开发语言·python·flask·flask3
大数据追光猿16 分钟前
Python中的Flask深入认知&搭建前端页面?
前端·css·python·前端框架·flask·html5
java1234_小锋16 分钟前
一周学会Flask3 Python Web开发-flask3模块化blueprint配置
开发语言·python·flask·flask3
莫忘初心丶18 分钟前
python flask 使用教程 快速搭建一个 Web 应用
前端·python·flask
不爱学英文的码字机器1 小时前
Python爬虫实战:从零到一构建数据采集系统
开发语言·爬虫·python
鹿鸣悠悠1 小时前
Python 类和对象详解
开发语言·python
laocooon5238578861 小时前
用Python实现的双向链表类,包含了头插、尾插、归并排序等功能
开发语言·python
百锦再1 小时前
在Linux上创建一个Docker容器并在其中执行Python脚本
linux·python·docker
东方芷兰2 小时前
伯克利 CS61A 课堂笔记 12 —— Syntax
笔记·python