优秀的编程知识分享平台

网站首页 > 技术文章 正文

17-1-Python-模块01

nanyue 2025-03-05 19:41:39 技术文章 3 ℃

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

输出结果

最近发表
标签列表