1 数学运算模块 math

  • “math”模块提供了许多常用的数学函数,例如三角函数、四舍五入、指数、对数、平方根、总和等
import math

1.1 常数

  • math.pi 返回圆周率的数学常数。
  • math.e 返回指数的数学常数
  • 示例:
print(math.pi)
print(math.e)

1.2 fabs(x)

  • 取绝对值
  • 示例:
print(math.fabs(5))
print(math.fabs(-5))

1.3 ceil(x)、floor(x)、round(x)

  • ceil(x):向上取整(进1)
print(math.ceil(3.1))
  • floor(x):向下取整
print(math.floor(3.1))
  • round(x):四舍五入取整
print(round(3.51))
print(round(3.49))

1.4 pow(x, y)、sqrt(x)

  • pow(x, y):x的y次方
print(math.pow(2,3))
print(2**3)
  • sqrt(x):x的平方根
print(math.sqrt(9))

1.5 factorial(x)

  • factorial(x):x的阶乘,x只能为正整数
print(math.factorial(5))

2.6 gcd(a,b)、lcm(a,b)

  • gcd(a,b):a与b的最大公约数
print(math.gcd(12,8))
  • lcm(a,b):a与b的最小公倍数
print(math.lcm(9,6))

2 随机数模块random

  • 主要用于生成随机数
  • 实现了各种分布的伪随机数生成器
import random

2.1 random()方法

  • 返回一个随机数,范围半开放区间 [0,1)
print(random.random())# 随机数种子,使用种子生成随机数
random.seed()
print(random.random())
print(random.random())

2.2 randint()方法

  • 返回一个随机正数,范围[a,b]
print(random.randint(8,9))

2.3 randrange()方法

  • 返回指定范围 [a,b) 内的随机数
  • 语法:random.randrange(start, stop, step)
    • start – 可选, 一个整数,指定开始值,默认值为 0
    • stop – 必需, 一个整数,指定结束值
    • step – 可选, 一个整数,指定步长,默认值为 1
  • 示例:
print(random.randrange(1,9,3))

3 日期和时间处理模块datetime

  • date 类用于表示日期,包含年、月、日三个属性
  • time 类用于表示时间,包含时、分、秒、微秒等属性
  • datetime 类是 date 和 time 的结合体,可以同时表示日期和时间
  • timedelta 类用于表示时间差,可以用于日期和时间的加减操作
import datetime

3.1 datetime

  • 获取当前时间
print(datetime.datetime.now())
  • 获取时间各个字段
print(datetime.datetime.now().year)
now=datetime.datetime.now()
print(now.month)
print(now.day)
print(now.hour)
print(now.minute)
print(now.second)
  • 获取指定时间
print(datetime.datetime(2025,1,3,9,30,0))
  • 格式化日期和时间
    • 常用符号
      YmdHMS

      四位

      两位:01~12

      两位:01~31

      两位:0~23

      两位:00~59

      两位:00~59
now=datetime.datetime.now()
print(now.strftime("%Y-%m-%d %H:%M:%S"))
print(now.strftime("%Y年%m月%d日 %H:%M:%S"))

3.2 timedelta

  • 计算时间差
now=datetime.datetime.now()
# 10天后
after_10_date=now+datetime.timedelta(days=10)
print(after_10_date)
# 10天前
before_10_date=now-datetime.timedelta(days=10)
print(before_10_date)
before_10_date=now+datetime.timedelta(days=-10)
print(before_10_date)# 1月前
before_1_month=now-datetime.timedelta(days=30)
print(before_1_month)# 1年前
before_1_year=now-datetime.timedelta(days=365)
print(before_1_year)

3.3 date

  • 获取当天日期
# print(datetime.date.today())
  • 应用场景:日志备份
date=datetime.date.today()
path="D:/333/A/1.txt"
new_name=path.split('/')[-1].replace('.txt','_'+str(date)+'.txt')
print(new_name)
with open(path,'r',encoding='utf-8') as f1:text=f1.read()# print(text)with open('D:/333/B/'+new_name,'w',encoding='utf-8') as f2:f2.write(text)

4 系统相关模块sys

  • 提供了与python解释器及其环境交互的功能
  • 通过 sys 库,可以访问与 Python 解释器相关的变量和函数,例如命令行参数、标准输入输出、程序退出等。
import sys

4.1 命令行参数

  • sys.argv 是一个包含命令行参数的列表。sys.argv[0] 是脚本的名称,后续元素是传递给脚本的参数。
print(f'脚本名称:{sys.argv[0]}')
print(f'脚本参数:{sys.argv[1]}')
  • 在终端运行:python py.py py

4.2 sys.exit()

  • 用于退出程序
def A():print('-'*20,'函数A开始','-'*20)for i in range(10):print(i)if i==5:print('-'*20,'函数A结束','-'*20)# return结束当前函数return# exit退出当前程序# sys.exit()
def B():print('-'*20,'函数B开始','-'*20)A()# exit时不执行该语句print('-'*20,'函数B结束','-'*20)
B()

4.3 标准输入输出

  • sys.stdin、sys.stdout 和 sys.stderr 分别代表标准输入、标准输出和标准错误流。
# 标准输出
with open('d:/333/2.txt','w',encoding='utf-8') as f:sys.stdout=fprint('标准输出到文件')
# 标准输入
print('输入:')
list1=[]
for i in sys.stdin:if i.strip()=="":breaklist1.append(i.strip())
print('输出:')
for i in list1:print(i)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/87246.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/87246.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/87246.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Pandas和FineBI的昆明职位数据分析与可视化实现(二)- 职位数据清洗与预处理

文章目录 一、数据集介绍二、缺失值处理三、重复值处理四、薪资数据格式处理五、技能格式处理六、拆分薪资列并处理异常值七、拆分工作区域列八、清洗后的数据集九、完整代码 一、数据集介绍 这份昆明职位数据集源自 Boss 直聘,数据量颇为丰富,包含 177…

工业4.0核心引擎!意法STM32F407ZET6 单片机 赋能智能PLC/网关设计

STM32F407ZET6 单片机深度解析 1. 产品定位 STM32F407ZET6 是意法半导体(STMicroelectronics)推出的 高性能ARM Cortex-M4单片机,采用 LQFP144封装,主打 浮点运算、丰富外设和工业级可靠性,广泛应用于需要复杂算法和实…

[Andrej Karpathy_2] vibe coding | 大型语言模型的1960年代 | 自主性滑块

Hugging Face的Tom Wolf分享了一段我非常喜欢的视频,这些孩子正在进行氛围编程。 我觉得这是一个非常治愈的视频,我爱这个视频。(they grow up "knowing" they can build anything 😭greatness) 未来是美好的 前文&…

uv包管理常用命令

uv常用命令 uv init 初始化项目 uv add 包名 添加包;多个包名,中间用空格 uv tree 包的关系 uv remove 删除所有包 uv sync 重新解析 安装工具 1、mypy 检测工具 uv tool install mypy uv tool run mypy xxx.py 使用 2、Ruff uv tool…

Nano-vLLM 源码学习

以下内容由Trae生成。我只管问和排版。 Nano-vLLM 是一个从零构建的轻量级vLLM实现项目,具备快速离线推理、代码可读性高和优化功能丰富等特点,性能表现和原版vLLM相媲美。以下是该项目各目录和文件的功能说明: 1. 根目录: benc…

MySQL 8.4 备份与恢复完全指南

本文全面解析MySQL 8.4的备份与恢复机制,涵盖备份类型、方法、策略及实际操作示例。 一、备份类型解析 1. 物理(原始)备份 vs 逻辑备份 特性物理备份逻辑备份原理直接复制数据库目录/文件(如数据文件、日志)导出逻辑结构(CREATE…

Mac 部署Latex OCR并优化体验(打包成App并支持全局快捷键)

🍁 前言 最近阅读论文,在做笔记的时候总是要手动输入一些latex公式,非常耗时。我使用Hapigo的Latex 公式识别,感觉还挺好用,但是缺陷是只有30次免费额度,于是在网上搜索了一下,发现可以通过本地…

128K 长文本处理实战:腾讯混元 + 云函数 SCF 构建 PDF 摘要生成器

一、背景 在数字化办公时代,PDF 文档因其格式稳定、兼容性强等特点,成为知识分享与文档存储的主要载体之一。但随着文档规模的增长,如何快速提取关键信息成为亟待解决的问题。尤其对于 128K 字符及以上的长文本 PDF,传统处理方法…

Elasticsearch 排序性能提升高达 900 倍

作者:来自 Elastic Benjamin Trent, Mayya Sharipova, Chenhui Wang 及 Libby Lin 了解我们如何通过更快的 float / half_float 排序和 integer 排序的延迟优化来加快 Elasticsearch 排序速度。 Elasticsearch 引入了大量新功能,帮助你为你的使用场景构建…

Nginx重定向协议冲突解决方案:The plain HTTP request was sent to HTTPS port

问题原因 ​​服务器运行在 HTTPS 模式,但代码却发出了 HTTP 重定向指令,两套协议对不上,浏览器直接报错。​​ 在Java中,常见于response.sendRedirect()方法的使用。该方法默认生成基于HTTP的绝对URL,即便原始请求是…

机器学习如何让智能推荐“更懂你”,助力转化率飞跃?

机器学习如何让智能推荐“更懂你”,助力转化率飞跃? 今天咱聊聊一个电商、内容平台、社交App都离不开的“秘密武器”——智能推荐系统,以及机器学习到底如何帮它提升转化率的。 说白了,转化率就是“点进去买单”的概率。智能推荐做得好,转化率能蹭蹭上涨;做不好,用户滑…

Ruby CGI Session

Ruby CGI Session 引言 CGI(Common Gateway Interface)是一种网络服务器与外部应用程序(如脚本或程序)进行通信的协议。在Ruby语言中,CGI被广泛用于创建动态网页。本文将深入探讨Ruby CGI Session的相关知识&#xf…

从零开始的云计算生活——第二十四天,重起航帆,初见MySQL数据库

一.故事剧情 接下来要进入到一条比较长的路——mysql数据库,之后会用一段时间来学习mySQL数据库的内容,今天先从基础开始介绍mysql数据库。 二.MySQL数据库概述 1.数据库概念 数据库(Database) 简称DB,按照一定格式存储数据的一些文件的…

ES文件管理器v4.4.3(ES文件浏览器)

前言 ES文件管理器(也叫ES文件浏览器)是一款手机上用来看和管理文件的工具。你可以用它像在电脑上一样,把文件整理进不同的文件夹,查找照片、文档、视频都很方便。它还能看到平时看不到的隐藏文件,帮你清理一些没用的…

leetcode:693. 交替位二进制数(数学相关算法题,python3解法)

难度:简单 给定一个正整数,检查它的二进制表示是否总是 0、1 交替出现:换句话说,就是二进制表示中相邻两位的数字永不相同。 示例 1: 输入:n 5 输出:true 解释:5 的二进制表示是&am…

GRU与LSTM之间的联系和区别

前面我们谈到RNN与LSTM之间的关系,而GRU也是循环神经网络中的一种模型,那么它与LSTM有什么区别呢? 接下来我来对GRU(Gated Recurrent Unit)模型进行一次深度解析,重点关注其内部结构、参数以及与LSTM的对比…

2025年数字信号、计算机通信与软件工程国际会议(DSCCSE 2025)

2025年数字信号、计算机通信与软件工程国际会议(DSCCSE 2025) 2025 International Conference on Digital Signal, Computer Communication, and Software Engineering 一、大会信息 会议简称:DSCCSE 2025 大会地点:中国北京 审稿…

北峰智能SDC混合组网通信方案,助力无网络场景高效作业

在自然灾害、公共安全事件或大规模活动应急响应中,专用无线对讲通信因其不受外部网络限制、免去通话费用、无需拨号便可实现即时语音调度的特点,展现出其不可替代的价值。尤其在许多无基础设施的地区,对智能化调度管理的需求并不亚于城市地区…

HarmonyOS应用开发高级认证知识点梳理 (二) 组件交互

以下是 HarmonyOS 应用开发中 ‌组件交互‌ 的核心知识点梳理(高级认证备考重点),涵盖事件传递、状态管理、通信机制及生命周期协同: 一、事件处理机制 基础交互类型‌ (1)点击事件(onClick) 核心要点‌…

【SQL优化案例】索引创建不合理导致SQL消耗大量CPU资源

#隐式转换 第一章 适用环境 oracle 11glinux 6.9 第二章 Top SQL概况 下面列出我们发现的特定模块中Top SQL的相关情况: SQL_ID 模块 SQL类型 主要问题 fnc58puaqkd1n 无 select 索引创建不合理,导致全索引扫描,产生了大量逻辑读 …