python常用模块(math itertools functools sys shutil)使用讲解

 更新时间:2023年06月09日 09:57:09   作者:移动安全星球  
这篇文章主要介绍了python常用模块之math itertools functools sys shutil的使用示例讲解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

python常用模块

1.math

math 模块提供了一些数学函数和常数,如圆周率、三角函数、对数函数等。

  • 计算平方根:
import math
sqrt_result = math.sqrt(9)
print(sqrt_result)  # 输出:3.0
  • 计算正弦和余弦:
import math
angle = math.radians(30)  # 将角度转换为弧度
sin_result = math.sin(angle)
cos_result = math.cos(angle)
print(sin_result)  # 输出:0.5
print(cos_result)  # 输出:0.8660254037844387
  • 计算指数和对数:
import math
exp_result = math.exp(1)  # 计算 e 的 1 次方
log_result = math.log(exp_result)  # 计算 e 为底数的对数
print(exp_result)  # 输出:2.718281828459045
print(log_result)  # 输出:1.0

2. itertools

itertools 模块提供了一些用于操作迭代对象的函数,如无限迭代器、组合和排列等。

  • 生成一个无限迭代器:
import itertools
count = itertools.count(start=1, step=2)
for i in range(5):
    print(next(count))  # 输出:1, 3, 5, 7, 9
  • 生成一个循环迭代器:
import itertools
cycle = itertools.cycle("ABCD")
for i in range(8):
    print(next(cycle))  # 输出:A, B, C, D, A, B, C, D
  • 生成排列和组合:
import itertools
# 排列
for p in itertools.permutations("ABCD", 2):
    print("".join(p))  # 输出:所有 2 个元素的排列
# 组合
for c in itertools.combinations("ABCD", 2):
    print("".join(c))  # 输出:所有 2 个元素的组合

3. functools

functools 模块提供了一些用于操作函数和可调用对象的工具。

  • 使用 lru_cache 缓存函数结果:
import functools
@functools.lru_cache(maxsize=None)  # 使用 LRU 缓存策略缓存函数结果
def fib(n):
    if n < 2:
        return n
    return fib(n-1) + fib(n-2)
print(fib(100))  # 输出:354224848179261915075
  • 使用 partial 固定部分参数:
import functools
def power(base, exponent):
    return base ** exponent
square = functools.partial(power, exponent=2)
cube = functools.partial(power, exponent=3)
print(square(5))  # 输出:25
print(cube(5))  # 输出:125

4. sys

sys 模块提供了一些与 Python 解释器和运行环境交互的函数和变量。

  • 获取命令行参数:
import sys
print("Script name:", sys.argv[0])  # 输出:脚本名(通常是文件名)
print("Arguments:", sys.argv[1:])  # 输出:命令行参数列表
  • 获取 Python 版本信息:
import sys
print("Python version:", sys.version)  # 输出:Python 版本信息
  • 获取系统平台信息:
import sys
print("Platform:", sys.platform)  # 输出:系统平台信息(如 'linux', 'win32' 等)

5. shutil

shutil 模块提供了一些高级文件操作函数,如文件复制、移动、删除等。

  • 复制文件:
import shutil
shutil.copy("src.txt", "dst.txt")  # 将 src.txt 复制到 dst.txt
  • 移动文件:
import shutil
shutil.move("src.txt", "dst.txt")  # 将 src.txt 移动到 dst.txt(如果 dst.txt 存在,将被覆盖)
  • 删除非空目录:
import shutil
shutil.rmtree("directory")  # 删除名为 "directory" 的非空目录及其所有内容
  • 压缩文件:
import shutil
shutil.make_archive("archive", "zip", "directory")  # 将 "directory" 压缩为名为 "archive.zip" 的 ZIP 文件
  • 解压缩文件:
import shutil
shutil.unpack_archive("archive.zip", "directory")  # 将 "archive.zip" 解压缩到 "directory" 目录

以上是五个常用的 Python 标准库模块的简要介绍和示例代码。希望这些内容可以帮助您更好地理解这些模块的用法。请注意,这些模块的功能远不止这些,您可以查阅 Python 官方文档以了解更多详细信息。

以上就是python常用模块(math itertools functools sys shutil)使用讲解的详细内容,更多关于python常用模块的资料请关注脚本之家其它相关文章!

相关文章

  • django中日志模块logging的配置和使用方式

    django中日志模块logging的配置和使用方式

    文章主要介绍了如何在Django项目的`settings.py`文件中配置日志记录,并使用日志模块记录不同级别的日志,日志级别包括DEBUG、INFO、WARNING、ERROR和CRITICAL,级别越高,记录的日志越详细,通过配置和使用日志记录器,可以更好地排查和监控系统问题
    2025-01-01
  • Python中logging日志模块代码调试过程详解

    Python中logging日志模块代码调试过程详解

    这篇文章主要介绍了Python中logging日志模块代码调试,今天来看看如何在代码中定义日志,并探讨日志的权限,需要的朋友可以参考下
    2023-04-04
  • python实现同一局域网下传输图片

    python实现同一局域网下传输图片

    这篇文章主要为大家详细介绍了python实现同一局域网下传输图片,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • 关于Numpy中数组维度的理解

    关于Numpy中数组维度的理解

    这篇文章主要介绍了关于Numpy中数组维度的理解,多维Numpy数组也可以叫张量(tensor),当前所有机器学习系统都是使用张量作为基本数据结构,张量是一个数据容器,它包含的数据几乎是数值数据,因此它也是数字的容器,需要的朋友可以参考下
    2023-09-09
  • Python实例方法、类方法、静态方法的区别与作用详解

    Python实例方法、类方法、静态方法的区别与作用详解

    这篇文章主要介绍了Python实例方法、类方法、静态方法的区别与作用,结合实例形式分析了Python面向对象程序设计中实例方法、类方法、静态方法的概念、原理、用法及相关操作技巧,需要的朋友可以参考下
    2019-03-03
  • PyQt5 QDate类的具体使用

    PyQt5 QDate类的具体使用

    QDate是PyQt5中处理日期的核心类,本文主要介绍了PyQt5 QDate类的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-05-05
  • python读取文件由于编码问题失败汇总以及解决办法

    python读取文件由于编码问题失败汇总以及解决办法

    这篇文章主要给大家介绍了关于python读取文件由于编码问题失败汇总以及解决办法的相关资料,文件编码错误指的是在Python读取文件的过程中出现的编码不匹配的问题,需要的朋友可以参考下
    2023-10-10
  • Python Traceback异常代码排错利器使用指南

    Python Traceback异常代码排错利器使用指南

    这篇文章主要为大家介绍了Python Traceback异常代码排错利器使用指南,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • Python快速实现定时器的五种常见方法详解

    Python快速实现定时器的五种常见方法详解

    这篇文章主要为大家详细介绍了使用Python语言快速实现定时器的五种常见方法,分为内置方法 与 第三方库的方法,感兴趣的小伙伴可以了解下
    2025-07-07
  • 给Python IDLE加上自动补全和历史功能

    给Python IDLE加上自动补全和历史功能

    这篇文章主要介绍了给Python IDLE加上自动补全和历史功能,需要的朋友可以参考下
    2014-11-11

最新评论