灰色玫瑰 发表于 2024-9-6 15:39:49

15 Python模块

本篇是 Python 系列教程第 15 篇,更多内容敬请访问我的 Python 合集
一个模块其实就是一个文件(以.py结尾)。使用模块的好处是便于维护和重用代码。
要创建一个模块,只需编写一个新的文本文件,保存为 .py 扩展名。
1 引入模块

1.1 导入整个模块

import mymodule
mymodule.some_function()1.2 导入特定的函数或类

from mymodule import some_function
some_function()1.3 导入所有内容

from mymodule import *
some_function()# 直接调用函数,无需模块前缀1.4 使用别名

import mymodule as mm
mm.some_function()2 常用模块

Python 的标准库非常庞大,提供了大量的内置模块来支持各种编程任务。这里列举了一些常用的模块及其主要用途:
2.1 标准库模块

2.1.1 os

操作系统相关功能,如读取环境变量、改变目录等。
import os
print(os.getcwd())# 获取当前工作目录2.1.2 sys

系统特定的一些变量和函数,如获取命令行参数、退出程序等。
import sys
print(sys.argv)# 获取命令行参数2.1.3 math

数学函数,如平方根、对数等。
import math
print(math.sqrt(16))# 计算平方根2.1.4 random

生成随机数。
import random
print(random.randint(1, 100))# 生成一个1到100之间的随机整数2.1.5 datetime

日期和时间操作。
from datetime import datetime
print(datetime.now())# 获取当前日期和时间2.1.6 re

正则表达式支持。
import re
pattern = r'\d+'
result = re.findall(pattern, '123 abc 456')
print(result)# 输出所有匹配数字的字符串2.1.7 json

JSON 编码和解码。
import json
data = {'name': 'John', 'age': 30}
json_str = json.dumps(data)
print(json_str)# 将字典转换为 JSON 字符串2.1.8 collections

高级容器类型,如 defaultdict, Counter, deque 等。
from collections import defaultdict
d = defaultdict(int)
d['a'] += 1
print(d['a'])# 输出: 12.1.9 itertools

迭代工具,提供了高效的循环迭代器。
import itertools
for x in itertools.count(start=1):
    print(x)
    if x > 10:
      break# 无限计数,直到超过102.1.10 functools

高阶函数工具,如装饰器、偏函数等。
from functools import lru_cache
@lru_cache(maxsize=None)
def fib(n):
    if n < 2:
      return n
    return fib(n-1) + fib(n-2)
print(fib(10))# 计算斐波那契数列第10项2.1.11 pathlib

用于处理路径的现代接口。
from pathlib import Path
p = Path('/etc') / 'passwd'
print(p)# 输出: /etc/passwd12. argparse

解析命令行参数和选项。
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("--input", help="input file")
args = parser.parse_args()
print(args.input)2.2 第三方模块

除了标准库之外,还有许多第三方模块可以安装和使用,例如:

[*]NumPy - 数值计算。
[*]Pandas - 数据分析。
[*]Matplotlib - 数据可视化。
[*]Requests - 发送 HTTP 请求。
[*]Flask - Web 开发框架。
[*]SQLAlchemy - 数据库抽象层。

来源:https://www.cnblogs.com/GilbertDu/p/18399753
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 15 Python模块