当前位置: 首页 > article >正文

Python中的数值运算函数及math库详解

文章目录

  • Python中的数值运算函数及math库详解
    • 一、内置数值运算函数
      • 1. 基本数值运算函数
      • 2. 类型转换函数
      • 3. 进制转换函数
    • 二、math库中的数学常数
    • 三、math库常用数学函数
      • 1. 数论与表示函数
      • 2. 幂函数与对数函数
      • 3. 三角函数
      • 4. 角度转换
      • 5. 双曲函数
      • 6. 特殊函数
    • 四、实际应用示例
      • 1. 计算圆的面积和周长
      • 2. 解二次方程
      • 3. 计算两点间距离
      • 4. 统计函数(使用math.fsum提高精度)
    • 五、注意事项
    • 六、性能比较示例

Python中的数值运算函数及math库详解

一、内置数值运算函数

1. 基本数值运算函数

abs(x)       # 返回x的绝对值
pow(x, y)    # 返回x的y次幂,等价于x**y
round(x[, n]) # 返回x的四舍五入值,n表示小数位数
divmod(a, b) # 返回商和余数的元组(a//b, a%b)

2. 类型转换函数

int(x)       # 转换为整数
float(x)     # 转换为浮点数
complex(re, im) # 创建复数

3. 进制转换函数

bin(x)       # 整数转二进制字符串
oct(x)       # 整数转八进制字符串
hex(x)       # 整数转十六进制字符串

二、math库中的数学常数

import mathmath.pi      # 圆周率π ≈ 3.141592653589793
math.e       # 自然常数e ≈ 2.718281828459045
math.tau     # 2π ≈ 6.283185307179586 (Python 3.6+)
math.inf     # 正无穷大
math.nan     # 非数字值(Not a Number)

三、math库常用数学函数

1. 数论与表示函数

math.ceil(x)     # 向上取整
math.floor(x)    # 向下取整
math.trunc(x)    # 截断小数部分
math.fabs(x)     # 浮点数绝对值
math.factorial(x) # 阶乘x!
math.gcd(a, b)   # 最大公约数(Python 3.5+)
math.isfinite(x) # 判断x是否为有限数
math.isinf(x)    # 判断x是否为无穷大
math.isnan(x)    # 判断x是否为NaN

2. 幂函数与对数函数

math.exp(x)      # e的x次幂
math.expm1(x)    # e的x次幂减1,精度更高
math.log(x[, base]) # 对数函数,base默认为e
math.log1p(x)    # ln(1+x),x接近0时更精确
math.log2(x)     # 以2为底的对数(Python 3.3+)
math.log10(x)    # 以10为底的对数
math.pow(x, y)   # x的y次幂(结果为浮点数)
math.sqrt(x)     # 平方根

3. 三角函数

math.sin(x)     # 正弦(弧度制)
math.cos(x)     # 余弦(弧度制)
math.tan(x)     # 正切(弧度制)
math.asin(x)    # 反正弦
math.acos(x)    # 反余弦
math.atan(x)    # 反正切
math.atan2(y, x) # y/x的反正切
math.hypot(x, y) # 欧几里得范数√(x² + y²)

4. 角度转换

math.degrees(x) # 弧度转角度
math.radians(x) # 角度转弧度

5. 双曲函数

math.sinh(x)    # 双曲正弦
math.cosh(x)    # 双曲余弦
math.tanh(x)    # 双曲正切
math.asinh(x)   # 反双曲正弦
math.acosh(x)   # 反双曲余弦
math.atanh(x)   # 反双曲正切

6. 特殊函数

math.erf(x)     # 误差函数
math.erfc(x)    # 互补误差函数
math.gamma(x)   # Gamma函数
math.lgamma(x)  # Gamma函数的绝对值的自然对数

四、实际应用示例

1. 计算圆的面积和周长

import mathradius = 5
area = math.pi * math.pow(radius, 2)
circumference = 2 * math.pi * radius

2. 解二次方程

import mathdef solve_quadratic(a, b, c):discriminant = b**2 - 4*a*cif discriminant < 0:return Nonex1 = (-b + math.sqrt(discriminant)) / (2*a)x2 = (-b - math.sqrt(discriminant)) / (2*a)return x1, x2

3. 计算两点间距离

import mathdef distance(p1, p2):return math.hypot(p2[0]-p1[0], p2[1]-p1[1])

4. 统计函数(使用math.fsum提高精度)

import mathdata = [1.1, 2.2, 3.3, 4.4, 5.5]
total = math.fsum(data)  # 比sum()精度更高

五、注意事项

  1. math模块的函数通常比内置函数更精确,但速度可能稍慢
  2. math模块的函数大多只接受实数参数,复数运算需使用cmath模块
  3. 对于大数运算,考虑使用decimal模块提高精度
  4. 科学计算推荐使用NumPy库,它提供了更丰富的数学函数和数组支持

六、性能比较示例

import math
import timeit# 比较math.sqrt和**0.5的性能
t1 = timeit.timeit('math.sqrt(100)', setup='import math')
t2 = timeit.timeit('100**0.5')
print(f"math.sqrt: {t1}, **0.5: {t2}")

通过合理选择这些数值运算函数和math库函数,可以高效地完成各种数学计算任务。🐻🐻🐻

相关文章:

Python中的数值运算函数及math库详解

文章目录 Python中的数值运算函数及math库详解一、内置数值运算函数1. 基本数值运算函数2. 类型转换函数3. 进制转换函数 二、math库中的数学常数三、math库常用数学函数1. 数论与表示函数2. 幂函数与对数函数3. 三角函数4. 角度转换5. 双曲函数6. 特殊函数 四、实际应用示例1.…...

P8627 [蓝桥杯 2015 省 A] 饮料换购

题目描述 思路 一是可以多枚举几个数&#xff0c;找找规律 二可以模拟 代码 #include<bits/stdc.h> #define int long long using namespace std;const int N 2e510;int a[N]; int b[N]; //前缀和 signed main() {int n;cin >> n; //表示初始的饮料盖int ans …...

《Vue Router实战教程》12.不同的历史记录模式

欢迎观看《Vue Router 实战&#xff08;第4版&#xff09;》视频课程 不同的历史记录模式 在创建路由器实例时&#xff0c;history 配置允许我们在不同的历史模式中进行选择。 Hash 模式 hash 模式是用 createWebHashHistory() 创建的&#xff1a; import { createRouter,…...

第十五届蓝桥杯大赛软件赛省赛Python 大学 B 组试做(下)【本期题单: 缴纳过路费, 纯职业小组】

本期题单&#xff1a;缴纳过路费&#xff0c;纯职业小队 文章目录 缴纳过路费题目思路分析代码 纯职业小组题目思路分析 感谢大伙观看&#xff0c;别忘了三连支持一下大家也可以关注一下我的其它专栏&#xff0c;同样精彩喔~下期见咯~ 缴纳过路费 题目 题目链接&#xff1a;缴…...

数字政府网络架构建设方案

数字政府网络架构建设方案 一、引言 随着信息技术的快速发展&#xff0c;数字政府建设已成为提升政府治理能力和服务水平的关键。网络架构作为数字政府的核心基础设施&#xff0c;对于保障数据安全、提高服务效率、促进信息共享具有重要意义。本方案旨在为数字政府网络架构建…...

Dynamics 365 Business Central AL Code 公司间物料同步的Code参考

#BC ERP# #D365 ERP# #Navision# 前言 在BC实施过程中&#xff0c;经常会碰到客户有多个公司&#xff0c;但物料是相同的。因为都在BC平台&#xff0c;用Power Automate方案也是可行&#xff0c;但往往用AL Code实现更容易。 CodeUnit 实现Sync item to Other company codeu…...

vue+uniapp 获取上一页直接传递的参数

在小程序里页面之间跳转有时候需要传递参数给下个页面用 const toDetail item > { uni.navigateTo({ url: /pagesFood/stu/FoodSelection?groupCode1&merchCode2, }); }; 那么下个页面就要获取到这些参数&#xff0c;在实际开发中&#xff…...

[UEC++]UE5C++各类变量相关知识及其API(更新中)

基础变量 UE自己定义的目的&#xff1a;1.跨平台&#xff1b;2.兼容反射&#xff1b;3.方便宏替换 FString 基础赋值与初始化 遍历与内存 迭代器访问 清除系列操作 合并 插入与移除 RemoveFromStart是从开头看&#xff0c;没有则移除失败返回false&#xff1b; RemoveFromEnd是…...

RK3588 android12 适配 ilitek i2c接口TP

一&#xff0c;Ilitek 触摸屏简介 Ilitek 提供多种型号的触控屏控制器&#xff0c;如 ILI6480、ILI9341 等&#xff0c;采用 I2C 接口。 这些控制器能够支持多点触控&#xff0c;并具有优秀的灵敏度和响应速度。 Ilitek 的触摸屏控制器监测屏幕上的触摸事件。 当触摸发生时&a…...

安装vllm

ubuntu 22.04, RTX3080, cuda 12.1, cudnn 8.9.7&#xff0c;cuda和cudnn的安装参考&#xff1a;https://blog.csdn.net/m0_52111823/article/details/147154526?spm1001.2014.3001.5501。 查看版本对应关系&#xff0c;下载12.1对应的whl包&#xff0c;https://github.com/vl…...

利用安固软件实现电脑屏幕录像:四种实用方法分享

在日常工作中&#xff0c;有时我们需要录制电脑屏幕以进行教学演示、软件操作记录或重要会议的存档。安固软件终端安全管理系统提供了强大的屏幕录像功能&#xff0c;可以满足这些需求。 接下来&#xff0c;本文将介绍如何使用安固软件设置电脑实时画面录像&#xff0c;并分享…...

[Effective C++]条款30:透彻了解inlining的里里外外

. 1、内联函数 inline内联函数的设计是为了消除函数调用的开销&#xff0c;在编译期间由编译器将函数体插入到每个调用点&#xff0c;来避免常规函数调用时的压栈、跳转和返回等操作&#xff0c;减少函数调用的时间开销。 1.1、内联函数作用 减少函数调用开销&#xff1a; 消…...

CExercise_10_2动态内存分配_1从键盘输入输入中读取一个整数n,动态分配一个长度为n的整型数组。

题目&#xff1a; 编写程序&#xff0c;从键盘输入输入中读取一个整数n&#xff0c;动态分配一个长度为n的整型数组。 将数组元素初始化为1, 2, 3, …, n&#xff0c;并输出打印数组内容&#xff0c;最后释放内存。 注意: 初始化内存块时可以直接使用下标来操作内存块。 遍历打…...

这种情况是应为VScode的版本太新了,更新到1.86版本后要求远程连接服务器的内核版本不符合条件

这种情况是应为VScode的版本太新了&#xff0c;更新到1.86版本后要求远程连接服务器的内核版本不符合条件 解决方法 vscode降级&#xff0c;使用1.86以前的版本。亲测这种方法成功解决 首先关闭VSCode自动更新 Windows下载1.85版本链接&#xff1a;https://update.code.visua…...

文件IO7(中文字库的原理与应用/目录检索原理与应用/并发编程的原理与应用)

中文字库的原理与应用 ⦁ 基本概念 一般在项目中都会显示汉字&#xff0c;都采用中文简体字符集&#xff0c;计算机早期只有ANSI组织设计的ANSII码&#xff0c;其实也属于字符集&#xff0c;这套字符集并未收录中文&#xff0c;只收录256个字符。 所以后期中国国家标准总局设…...

基于SpringBoot的智慧社区管理系统(源码+数据库)

499基于SpringBoot的智慧社区管理系统&#xff0c;系统包含三种角色&#xff1a;管理员、用户主要功能如下。 【用户功能】 1. 首页&#xff1a;查看系统。 2. 超市商品&#xff1a;浏览超市中各类商品信息。 3. 动物信息&#xff1a;了解社区内的动物种类和相关信息。 4. 车位…...

OpenCV 伪彩色处理

伪彩色处理是将灰度图像通过颜色映射转换为彩色图像的技术&#xff0c;常用于增强可视化效果或突出显示特定灰度范围。OpenCV 提供了多种方法实现伪彩色处理。 1. 使用 applyColorMap 函数 OpenCV 提供了 cv::applyColorMap() 函数&#xff0c;支持多种预定义的色彩映射&…...

ADI 算法,ADAU1452算法

MCU控制DSP的公式...

低代码控件开发平台:飞帆中粘贴富文本的控件

效果&#xff1a; 链接&#xff1a; https://fvi.cn/729...

ICRA-2025 | 视觉预测助力机器人自主导航!NavigateDiff:视觉引导的零样本导航助理

论文&#xff1a;Yiran Qin 1 , 2 ^{1,2} 1,2, Ao Sun 2 ^{2} 2, Yuze Hong 2 ^{2} 2, Benyou Wang 2 ^{2} 2, Ruimao Zhang 1 ^{1} 1单位&#xff1a; 1 ^{1} 1中山大学&#xff0c; 2 ^{2} 2香港中文大学深圳校区论文标题&#xff1a;NavigateDiff: Visual Predictors are Ze…...

[问题帖] vscode 重启远程终端

原理 有的时候&#xff0c;在vscode 远程ssh连接到服务器的时候&#xff0c;可能遇到需要重启终端才能生效的配置&#xff0c;比如add group的时候&#xff0c;而此时无论你是关闭vscode终端重启&#xff0c;还是reload窗口都是没用的。 因为不管你本地是否连接了远程的vscode服…...

2025年前端框架全景解析:React、Vue、Angular的生态与未来之争

一、市场格局:全球与国内的双重差异12 全球市场React:凭借Facebook的支持和庞大的社区,全球使用率超40%,尤其在数据密集型应用(如金融、社交平台)中占据主导。其跨平台能力(React Native)和灵活生态(Next.js、Redux)是核心竞争力。Vue:亚洲市场占比显著,中国开发者…...

【Linux】Orin NX编译 linux 内核及内核模块

1、下载交叉编译工具:gcc 1)下载地址:https://developer.nvidia.com/embedded/jetson-linux 选择TOOLS中的交叉编译工具:gcc 11.3 2)解压 将gcc编译器解压到指定目录中,如:/home/laoer/nvidia/gcc 3)配置环境变量 创建: ~/nvidia/gcc/env.sh添加: #!/bin/bash e…...

Java 读取 csv 文件

1、引入 maven 依赖 <dependency><groupId>org.apache.commons</groupId><artifactId>commons-csv</artifactId><version>1.9.0</version> </dependency>2、java 代码 /*** csv 内容解析** param filePath 文件路径* para…...

蓝桥杯考前复盘

明天就是考试了&#xff0c;适当的停下刷题的步伐。 静静回望、思考、总结一下&#xff0c;我走过的步伐。 考试不是结束&#xff0c;他只是检测这一段时间学习成果的工具。 该继续走的路&#xff0c;还是要继续走的。 只是最近&#xff0c;我偶尔会感到迷惘&#xff0c;看…...

【C++经典例题】字符串转整数(atoi)的实现与解析

&#x1f493; 博客主页&#xff1a;倔强的石头的CSDN主页 &#x1f4dd;Gitee主页&#xff1a;倔强的石头的gitee主页 ⏩ 文章专栏&#xff1a;C经典例题 期待您的关注 目录 一、问题描述 二、解题思路 三、代码实现 四、代码逻辑详解 1. 变量初始化 2. 忽略前导空格 …...

Java面试黄金宝典44

1. 查看进程的运行堆栈信息命令 gstack gstack 是 Linux 系统下用于查看指定进程运行时堆栈信息的工具。当程序出现崩溃、死锁或者性能瓶颈等问题时,借助 gstack 可以查看进程中各个线程的调用栈,从而辅助开发人员定位问题。 定义 gstack 本质上是一个封装了底层 ptrace 系统…...

批量统一图像色彩

图嗯&#xff0c;用户之前问过如何批量统一多张图片的色调&#xff0c;我给出了几种方法&#xff0c;包括Photoshop、Lightroom、GIMP、在线工具和AI工具。现在用户进一步说明&#xff0c;他有一张红蓝色的图&#xff0c;其他几张是各种颜色&#xff0c;想用代码或AI批量将它们…...

数据库数据恢复——sql server数据库被加密怎么恢复数据?

SQL server数据库数据故障&#xff1a; SQL server数据库被加密&#xff0c;无法使用。 数据库MDF、LDF、log日志文件名字被篡改。 数据库备份被加密&#xff0c;文件名字被篡改。 SQL server数据库数据恢复过程&#xff1a; 1、将所有数据库做完整只读备份。后续所有数据恢…...

蓝桥杯C++组部分填空题

P1508 - [蓝桥杯2020初赛] 门牌制作 - New Online Judge #include<bits/stdc.h> using namespace std;int main() {int res 0;for(int i 1; i < 2020; i){int num i;while(num){if(num % 10 2) res;num/10;}}cout<<res;return 0; } 624 P1509 - [蓝桥杯20…...