
1-什么是模块
模块是以.py结尾的一个Python代码文件,内含类、函数、变量等,我们可以导入进行使用。
2-模块的作用
Python中有很多各种不同的模块, 每一个模块都可以帮助我们快速的实现一些功能, 比如实现和时间相关的功能就可以使用time模块
我们可以认为一个模块就是一个工具包, 每一个工具包中都有各种不同的工具供我们使用进而实现各种不同的功能.
3-模块的使用
3-1-导入其他模块
语法
import 模块名 from 模块名
import 类、变量、方法等 from 模块名
import *
import 模块名 as 别名 from 模块名
import 功能名 as 别名
3-2-导入整个模块
import math
# 使用模块中的函数
print(math.sqrt(16)) # 输出: 4.0
3-3-导入模块并指定别名
import numpy as np
# 使用模块中的函数
print(np.array([1, 2, 3]))
3-4-from 模块名 import *
创建自定义模块 my_module.py
# 定义一些变量和函数
greeting = "Hello!"
def say_hi(name):
return f"Hi, {name}!"
def add(a, b):
return a + b
在main.py中引用my_module.py模块
from my_module import *
# 使用模块中定义的变量和函数
print(greeting) # 输出: Hello!
print(say_hi("Mike")) # 输出: Hi, Mike!
print(add(3, 5)) # 输出: 8
3-5-from 模块名 import 功能名
from datetime import date
today = date.today()
print("今天的日期是:", today) # 输出类似于:今天的日期是: 2025-02-28
4-Python的内置模块
下面我将为几个常用的Python内置模块提供简单的例子。由于内置模块众多,这里仅挑选部分进行展示:
4-1-os模块
用于与操作系统交互,如文件和目录操作。
import os
# 获取当前工作目录
current_directory = os.getcwd()
print(current_directory)
输出结果

输出结果
4-2-sys模块
访问解释器使用或维护的一些变量,以及与解释器强烈交互的函数。
import sys
# 打印Python版本
print(sys.version)
输出结果

输出结果
4-3-math模块
提供了数学运算功能。
import math
# 计算圆周率π的值
pi_value = math.pi
print(pi_value)
输出结果

输出结果
4-4-datetime模块
处理日期和时间。
from datetime import datetime
# 获取当前日期和时间
now = datetime.now()
print(now)
输出结果

输出结果
4-5- collections模块
提供额外的数据结构类型。
from collections import Counter
# 统计列表中元素出现的次数
count = Counter(['apple', 'orange', 'banana', 'apple'])
print(count)
输出结果

输出结果
4-6-re模块
支持正则表达式操作。
import re
# 在字符串中搜索数字
result = re.search('\d+', 'There are 123 apples')
print(result.group())
输出结果

输出结果
4-7-json模块
解析和生成JSON数据。
import json
# 将字典转换为JSON格式字符串
data = json.dumps({'name': 'Alice', 'age': 25})
print(data)
输出结果

输出结果
4-8- random模块
生成随机数。
import random
# 随机选择一个数
random_number = random.choice([1, 2, 3, 4, 5])
print(random_number)
输出结果

输出结果
4-9- http.server模块
提供了一个简单的HTTP服务器。
启动一个简单的HTTP服务器
# python -m http.server 8000
4-10-itertools模块
提供针对迭代器的高效循环操作函数。
import itertools
# 创建无限循环的计数器
counter = itertools.count(start=5, step=2)
print(next(counter), next(counter))
输出结果

输出结果
4-11-functools模块
提供高阶函数的支持,比如装饰器、缓存机制等。
import functools
# 使用lru_cache缓存函数结果以提高效率
@functools.lru_cache(maxsize=128)
def fibonacci(n):
if n < 2:
return n
return fibonacci(n-1) + fibonacci(n-2)
print(fibonacci(10))
输出结果

输出结果
4-12-unittest模块
支持单元测试。
import unittest
class TestStringMethods(unittest.TestCase):
def test_upper(self):
self.assertEqual('foo'.upper(), 'FOO')
if __name__ == '__main__':
unittest.main()
输出结果

