Python3 模块

Python3模块知识点汇总

Python3 模块知识点汇总

针对编程小白的模块知识详解,用通俗易懂的语言解释Python模块的核心概念

📦 1. 什么是模块?

模块就像是Python的”工具箱”。想象一下,Python自带了很多工具(函数和变量),但把所有工具都放在一个大箱子里会很乱。模块就是把这些工具分类放在不同的小工具箱里。

大白话解释: 模块就是.py文件,里面包含了你写好的Python代码(函数、变量、类等)。

模块有什么用?

  • 代码复用:写好一个模块,可以在多个程序中使用
  • 命名空间:避免命名冲突(不同模块可以有相同名字的函数)
  • 代码组织:把相关功能组织在一起,便于维护
📥 2. 如何导入模块

基本导入方式

# 导入整个模块
import math

# 使用模块中的功能
result = math.sqrt(25) # 计算平方根

其他导入方式

# 导入特定功能
from math import sqrt, pi

# 使用时不需模块名前缀
result = sqrt(25)
print(pi)
# 给模块起别名(常用)
import numpy as np
import pandas as pd

# 使用别名
array = np.array([1, 2, 3])
注意: 要避免使用from module import *这种方式,容易导致命名冲突!
🔧 3. 常用内置模块

Python自带的核心工具箱

math: 数学工具箱(平方根、三角函数等)

import math
print(math.sqrt(16)) # 4.0

random: 随机数工具箱

import random
print(random.randint(1, 10)) # 生成1-10的随机整数

datetime: 日期和时间工具箱

from datetime import date
today = date.today()
print(today) # 2023-06-15

os: 操作系统工具箱

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

json: JSON数据处理工具箱

import json
data = json.loads(‘{“name”: “John”, “age”: 30}’)
🛠️ 4. 创建自定义模块

创建自己的模块非常简单!只需两步:

步骤1:创建模块文件

新建一个.py文件,比如mytools.py,写入以下内容:

# mytools.py
def greet(name):
    return f”Hello, {name}!”

def add(a, b):
    return a + b

version = “1.0”

步骤2:在其他文件中使用

# main.py
import mytools

print(mytools.greet(“Alice”)) # Hello, Alice!
print(mytools.add(5, 3)) # 8
print(mytools.version) # 1.0
注意: 确保模块文件(mytools.py)和主程序在同一个文件夹中,否则Python可能找不到它。
🔍 5. 模块搜索路径

当你导入一个模块时,Python会按照特定顺序去这些地方查找:

  1. 当前目录(你运行程序的文件夹)
  2. 环境变量PYTHONPATH指定的目录
  3. Python安装的标准库目录
  4. 第三方库目录(如pip安装的包)

查看搜索路径

import sys
print(sys.path) # 查看所有搜索路径
解决问题: 如果遇到”ModuleNotFoundError”错误,通常是因为模块不在这些搜索路径中。
📚 6. 包(Package)

当你有多个相关的模块时,可以用来组织它们。包就是一个包含多个模块的文件夹。

大白话解释: 如果模块是文件,那么包就是文件夹,里面可以放多个模块文件。

创建包的结构

mypackage/
├── __init__.py   # 包标识文件(可以是空的)
├── module1.py
└── module2.py
                    

导入包中的模块

# 导入包中的特定模块
from mypackage import module1

# 导入包中模块的特定功能
from mypackage.module2 import some_function
注意: 文件夹必须包含__init__.py文件(可以是空文件)才能被识别为包。
⚡ 7. 模块的特殊属性

__name__ 属性

每个模块都有一个内置属性__name__,它有两种可能的值:

  • 当模块直接运行时:__name__ == "__main__"
  • 当模块被导入时:__name__ == 模块名
# 在my_module.py中
if __name__ == “__main__”:
    print(“模块直接运行”)
else:
    print(“模块被导入”)
最佳实践: 使用if __name__ == "__main__":来编写模块的测试代码,这样当你直接运行模块时会执行测试,但导入模块时不会执行。

其他特殊属性

  • __file__:模块的文件路径
  • __doc__:模块的文档字符串
  • __package__:模块所属的包名
✨ 8. 安装第三方模块

Python的强大之处在于丰富的第三方模块库!使用pip工具可以轻松安装:

使用pip安装模块

# 在命令行安装模块
pip install requests # 安装requests模块
pip install numpy # 安装科学计算模块
pip install pandas # 安装数据分析模块

在代码中使用第三方模块

import requests

response = requests.get(“https://www.example.com”)
print(response.status_code) # 200

常用第三方模块

  • requests: 发送HTTP请求
  • numpy: 科学计算
  • pandas: 数据处理与分析
  • matplotlib: 数据可视化
  • Django/Flask: Web开发框架

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部