15 Python模块

cnblogs 2024-09-06 11:09:00 阅读 51

本篇是 Python 系列教程第 15 篇,更多内容敬请访问我的 Python 合集

一个模块其实就是一个文件(以.py结尾)。使用模块的好处是便于维护和重用代码。

要创建一个模块,只需编写一个新的文本文件,保存为 .py 扩展名。

1 引入模块

1.1 导入整个模块

<code>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']) # 输出: 1

2.1.9 itertools

迭代工具,提供了高效的循环迭代器。

import itertools

for x in itertools.count(start=1):

print(x)

if x > 10:

break # 无限计数,直到超过10

2.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/passwd

12. argparse

解析命令行参数和选项。

import argparse

parser = argparse.ArgumentParser()

parser.add_argument("--input", help="input file")code>

args = parser.parse_args()

print(args.input)

2.2 第三方模块

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

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


声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。