Python基础教程(三十):math模块
💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快!
💝💝💝如有需要请大家订阅我的专栏【Python系列】哟!我会定期更新相关系列的文章
💝💝💝关注!关注!!请关注!!!请大家关注下博主,您的支持是我不断创作的最大动力!!!
文章目录
- 引言
- 一、`math`模块概览
- 二、重要数学常量
- 2.1 π (pi)
- 2.2 e
- 2.3 inf
- 2.4 nan
- 三、代数和几何函数
- 3.1 abs(x)
- 3.2 pow(x, y)
- 3.3 sqrt(x)
- 3.4 gcd(x, y)
- 3.5 lcm(x, y)
- 四、三角函数
- 4.1 sin(x)
- 4.2 cos(x)
- 4.3 tan(x)
- 4.4 asin(x)
- 4.5 acos(x)
- 4.6 atan(x)
- 五、对数函数
- 5.1 log(x[, base])
- 5.2 log10(x)
- 5.3 log2(x)
- 六、实用案例
- 6.1 圆的面积计算
- 6.2 三角形的斜边长计算
- 结束语
- 总结
引言
在Python中,math模块提供了一系列用于数学计算的函数和常量,从基本的三角函数到复杂数学分析,应有尽有。对于从事数据分析、科学计算、工程设计等领域的开发者来说,math模块是不可或缺的工具箱。本文将深入探讨math模块中的关键常量和方法,通过具体案例展示其在实际编程中的应用。
一、math模块概览
math模块包含了大量数学运算相关的函数,覆盖了代数、几何、三角学、概率论等多个领域。同时,它还定义了一些重要的数学常量,如π(圆周率)、e(自然对数的底数)等。
二、重要数学常量
2.1 π (pi)
圆周率π,一个无理数,大约等于3.14159,用于圆的相关计算。
import mathprint(math.pi) # 输出: 3.141592653589793
2.2 e
自然对数的底数e,大约等于2.71828,常用于指数函数和对数函数。
print(math.e) # 输出: 2.718281828459045
2.3 inf
正无穷大,用于表示数值溢出等情况。
print(math.inf) # 输出: inf
2.4 nan
非数字(Not a Number),用于表示未定义的数学运算结果。
print(math.nan) # 输出: nan
三、代数和几何函数
3.1 abs(x)
返回x的绝对值。
print(math.fabs(-3.5)) # 输出: 3.5
3.2 pow(x, y)
计算x的y次幂。
print(math.pow(2, 3)) # 输出: 8.0
3.3 sqrt(x)
计算x的平方根。
print(math.sqrt(16)) # 输出: 4.0
3.4 gcd(x, y)
计算x和y的最大公约数。
print(math.gcd(12, 18)) # 输出: 6
3.5 lcm(x, y)
计算x和y的最小公倍数。
print(math.lcm(12, 18)) # 输出: 36
四、三角函数
4.1 sin(x)
计算x(弧度制)的正弦值。
print(math.sin(math.pi / 2)) # 输出: 1.0
4.2 cos(x)
计算x(弧度制)的余弦值。
print(math.cos(0)) # 输出: 1.0
4.3 tan(x)
计算x(弧度制)的正切值。
print(math.tan(math.pi / 4)) # 输出: 0.9999999999999999
4.4 asin(x)
计算x的反正弦值(结果在[-π/2, π/2]范围内)。
print(math.asin(1)) # 输出: 1.5707963267948966
4.5 acos(x)
计算x的反余弦值(结果在[0, π]范围内)。
print(math.acos(0)) # 输出: 1.5707963267948966
4.6 atan(x)
计算x的反正切值(结果在[-π/2, π/2]范围内)。
print(math.atan(1)) # 输出: 0.7853981633974483
五、对数函数
5.1 log(x[, base])
计算以base为底x的对数,默认为自然对数。
print(math.log(10, 10)) # 输出: 1.0
5.2 log10(x)
计算以10为底x的对数。
print(math.log10(100)) # 输出: 2.0
5.3 log2(x)
计算以2为底x的对数。
print(math.log2(8)) # 输出: 3.0
六、实用案例
6.1 圆的面积计算
假设我们需要计算半径为5的圆的面积,可以使用math.pi和math.pow函数。
radius = 5
area = math.pi * math.pow(radius, 2)
print(area) # 输出: 78.53981633974483
6.2 三角形的斜边长计算
假设我们有一个直角三角形,两条直角边分别为3和4,我们可以使用math.sqrt函数来计算斜边长。
a = 3
b = 4
c = math.sqrt(math.pow(a, 2) + math.pow(b, 2))
print(c) # 输出: 5.0
结束语
喜欢博主的同学,请给博主一丢丢打赏吧↓↓↓您的支持是我不断创作的最大动力哟!感谢您的支持哦😘😘😘

💝💝💝如有需要请大家订阅我的专栏【Python系列】哟!我会定期更新相关系列的文章
💝💝💝关注!关注!!请关注!!!请大家关注下博主,您的支持是我不断创作的最大动力!!!
总结
math模块是Python中进行数学计算的利器,它不仅提供了丰富的数学函数,还定义了一系列重要的数学常量。通过本文的学习,你不仅掌握了math模块的基本用法,还了解了如何在实际编程中灵活运用这些函数和常量。无论是进行简单的数学运算,还是解决复杂的数学问题,math模块都将是你不可或缺的好帮手。不断实践和探索,你将能够发现更多math模块在不同场景下的应用,进一步提升你的编程技能和项目效果。
| python相关文章索引 | 文章链接 |
|---|---|
| Python基础语法(一):标识符与保留字部分 | Python基础语法(一):标识符与保留字部分 |
| Python基础语法(二):数据类型 | Python基础语法(二):数据类型 |
| Python基础语法(三):运算符 | Python基础语法(三):运算符 |
| Python基础语法(四):条件控制 | Python基础语法(四):条件控制 |
| Python基础语法(五):循环语句 | Python基础语法(五):循环语句 |
| Python基础语法(六):推导式编程 | Python基础语法(六):推导式编程 |
| Python基础教程(七):函数编程-从基础到进阶 | Python基础教程(七):函数编程-从基础到进阶 |
| Python基础教程(八):迭代器与生成器编程 | Python基础教程(八):迭代器与生成器编程 |
| Python基础教程(九):Lambda 函数 | Python基础教程(九):Lambda 函数 |
| Python基础教程(十):装饰器 | Python基础教程(十):装饰器 |
| Python基础教程(十一):数据结构汇总梳理 | Python基础教程(十一):数据结构汇总梳理 |
| Python基础教程(十二):模块 | Python基础教程(十二):模块 |
| Python基础教程(十三):file文件及相关的函数 | Python基础教程(十三):file文件及相关的函数 |
| Python基础教程(十四):OS 文件/目录方法 | Python基础教程(十四):OS 文件/目录方法 |
| Python基础教程(十五):面向对象编程 | Python基础教程(十五):面向对象编程 |
| Python基础教程(十六):正则表达式 | Python基础教程(十六):正则表达式 |
| Python基础教程(十七):CGI编程 | Python基础教程(十七):CGI编程 |
| Python基础教程(十八):MySQL - mysql-connector 驱动 | Python基础教程(十八):MySQL - mysql-connector 驱动 |
| Python基础教程(十九):网络编程 | Python基础教程(十九):网络编程 |
| Python基础教程(二十):SMTP发送邮件 | Python基础教程(二十):SMTP发送邮件 |
| Python基础教程(二十一):多线程 | Python基础教程(二十一):多线程 |
| Python基础教程(二十二):XML解析 | Python基础教程(二十二):XML解析 |
| Python基础教程(二十三):JSON数据解析 | Python基础教程(二十三):JSON数据解析 |
| Python基础教程(二十四):日期和时间 | Python基础教程(二十四):日期和时间 |
| Python基础教程(二十五):内置函数整理 | Python基础教程(二十五):内置函数整理 |
| Python基础教程(二十六):对接MongoDB | Python基础教程(二十六):对接MongoDB |
| Python基础教程(二十七):urllib模块 | Python基础教程(二十七):urllib模块 |
| Python基础教程(二十八):pip模块 | Python基础教程(二十八):pip模块 |
| Python基础教程(二十九):operator模块 | Python基础教程(二十九):operator模块 |
❤️❤️❤️觉得有用的话点个赞 👍🏻 呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄
💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍
🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙
相关文章:
Python基础教程(三十):math模块
💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快! 💝Ὁ…...
你只是重新发现了一些东西
指北君关于另外一条思维路径的发现。 "自以为是"的顿悟时刻 有很多时候,我会"自以为是"的发现/发明一些东西。这种"自以为是"的时刻通常还带有一些骄傲自豪的情绪。这种感觉特别像古希腊博学家阿基米德 在苦思冥想如何测量不规则物体…...
【英伟达GPU的挑战者】Groq—AI大模型推理的革命者
目录 引言第一部分:Groq简介第二部分:Groq的特点与优势1、高性能推理加速2、近存计算技术3、专用ASIC芯片设计4、低延迟与高吞吐量5、成本效益分析6、易用性与集成性7、软件与硬件的协同设计 第三部分:Groq的使用指南1、准备工作2、简单使用样…...
Python学习路线
Python学习路线 领取资料 一、Python基础知识 Python入门:了解Python的安装方法、如何运行Python程序以及交互模式的使用,同时学习注释的添加方法。 数据类型:掌握Python中的各种数据类型,包括数字、布尔值、字符串、列表、元…...
C++ std::forward()
在线调试网站: https://wandbox.org/ #include <iostream> #include <thread> #include <mutex> void func(int &&args) {std::cout << args << std::endl; }int main () {int a 10;func(20); …...
常见的8种排序(含代码):插入排序、冒泡排序、希尔排序、快速排序、简单选择排序、归并排序、堆排序、基数排序
时间复杂度O(n^2) 1、插入排序 (Insertion Sort) 从第一个元素开始,该元素可以认为已经被排序;取出下一个元素,在已经排序的元素序列中从后向前扫描;如果该元素(已排序)大于新元素,将该元素移到…...
go语言day2
使用cmd 中的 go install ; go build 命令出现 go cannot find main module 错误怎么解决? go学习-问题记录(开发环境)go: cannot find main module; see ‘go help modules‘_go: no flags specified (see go help mod edit)-CSDN博客 在本…...
vue echarts画多柱状图+多折线图
<!--多柱状图折线图--> <div class"echarts-box" id"multiBarPlusLine"></div>import * as echarts from echarts;mounted() {this.getMultiBarPlusLine() },getMultiBarPlusLine() {const container document.getElementById(multiBar…...
cesium for unity 打包webgl失败,提示不支持
platform webgl is not supported with HDRP use the Vulkan graphics AR instead....
python开发基础——day7 序列类型方法
一、初识序列类型方法 序列类型的概念:数据的集合,在序列类型里面可以存放任意的数据,也可以对数据进行更方便的操作,这个操作是叫增删改查(crud) ( 增加(Creat),读取查询(Retrieve),更新(Update)…...
用java写一个二叉树翻转
class TreeNode {int val;TreeNode left, right;TreeNode(int val) {this.val val;left right null;} }public class BinaryTree {TreeNode root;// 递归翻转二叉树public TreeNode invertTree(TreeNode root) {if (root null) {return null;}// 递归翻转左子树和右子树Tre…...
数学建模系列(3/4):典型建模方法
目录 引言 1. 回归分析 1.1 线性回归 基本概念 Matlab实现 1.2 多元回归 基本概念 Matlab实现 1.3 非线性回归 基本概念 Matlab实现 2. 时间序列分析 2.1 时间序列的基本概念 2.2 移动平均 基本概念 Matlab实现 2.3 指数平滑 基本概念 Matlab实现 2.4 ARIM…...
AI播客下载:Machine Learning Street Talk(AI机器学习)
该频道由 Tim Scarfe 博士、Yannic Kilcher 博士和 Keith Duggar 博士管理。 他们做了出色的工作,对每个节目进行了彻底的研究,并与机器学习行业中一些受过最高教育、最全面的嘉宾进行了双向对话。 每一集都会教授一些新内容,并且提供未经过滤…...
鱼缸补水器工作原理是什么
鱼缸补水器是一种应用广泛的智能设备,主要用于自动监测和补充鱼缸内的水位,以确保鱼类生存环境的稳定。其工作原理简单而高效,为饲主提供了方便和安全的使用体验。 该补水器通常由两部分组成:控制器和吸盘。首先,用户…...
Linux-Tomcat服务配置到系统服务
目录 前言一、系统环境二、配置步骤step1 了解环境的安装路径step2 配置生成tomcat.pid文件step3 配置tomcat.service文件 三、测试systemctl命令管理Tomcat服务3.1 systemctl命令启动Tomcat服务3.2 systemctl命令查看Tomcat服务3.3 systemctl命令关闭Tomcat服务3.4 systemctl命…...
Python抓取高考网图片
Python抓取高考网图片 一、项目介绍二、完整代码一、项目介绍 本次采集的目标是高考网(http://www.gaokao.com/gkpic/)的图片,实现图片自动下载。高考网主页如下图: 爬取的流程包括寻找数据接口,发送请求,解析图片链接,向图片链接发送请求获取数据,最后保存数据。 二…...
Vue配置项data
data 目录 data 目录类型介绍关键原理编译过程 Vue2Vue3 📌Vue.js 中的 data(Obj/Function)属性是 Vue 实例的一个配置选项 类型介绍 对象式 对于根实例或者非复用组件,通常直接提供一个对象字面量作为 data 的值。在对象式中…...
在IDEA 2024.1.3 (Community Edition)中创建Maven项目
本篇博客承继自博客:Windows系统Maven下载安装-CSDN博客 Maven版本:maven-3.9.5 修改设置: 首先先对Idea的Maven依赖进行设置;打开Idea,选择“Costomize”,选择最下边的"All settings" 之后找…...
动手学深度学习(Pytorch版)代码实践 -卷积神经网络-28批量规范化
28批量规范化 """可持续加速深层网络的收敛速度""" import torch from torch import nn import liliPytorch as lp import matplotlib.pyplot as pltdef batch_norm(X, gamma, beta, moving_mean, moving_var, eps, momentum):""&quo…...
Apache Paimon系列之:Append Table和Append Queue
Apache Paimon系列之:Append Table和Append Queue 一、Append Table二、Data Distribution三、自动小文件合并四、Append Queue五、压缩六、Streaming Source七、Watermark Definition八、Bounded Stream 一、Append Table 如果表没有定义主键,则默认为…...
IGP(Interior Gateway Protocol,内部网关协议)
IGP(Interior Gateway Protocol,内部网关协议) 是一种用于在一个自治系统(AS)内部传递路由信息的路由协议,主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...
Nuxt.js 中的路由配置详解
Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用
1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习) 一、Aspose.PDF 简介二、说明(⚠️仅供学习与研究使用)三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问(基础概念问题) 1. 请解释Spring框架的核心容器是什么?它在Spring中起到什么作用? Spring框架的核心容器是IoC容器&#…...
适应性Java用于现代 API:REST、GraphQL 和事件驱动
在快速发展的软件开发领域,REST、GraphQL 和事件驱动架构等新的 API 标准对于构建可扩展、高效的系统至关重要。Java 在现代 API 方面以其在企业应用中的稳定性而闻名,不断适应这些现代范式的需求。随着不断发展的生态系统,Java 在现代 API 方…...
android RelativeLayout布局
<?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:gravity&…...
永磁同步电机无速度算法--基于卡尔曼滤波器的滑模观测器
一、原理介绍 传统滑模观测器采用如下结构: 传统SMO中LPF会带来相位延迟和幅值衰减,并且需要额外的相位补偿。 采用扩展卡尔曼滤波器代替常用低通滤波器(LPF),可以去除高次谐波,并且不用相位补偿就可以获得一个误差较小的转子位…...
tauri项目,如何在rust端读取电脑环境变量
如果想在前端通过调用来获取环境变量的值,可以通过标准的依赖: std::env::var(name).ok() 想在前端通过调用来获取,可以写一个command函数: #[tauri::command] pub fn get_env_var(name: String) -> Result<String, Stri…...
MFE(微前端) Module Federation:Webpack.config.js文件中每个属性的含义解释
以Module Federation 插件详为例,Webpack.config.js它可能的配置和含义如下: 前言 Module Federation 的Webpack.config.js核心配置包括: name filename(定义应用标识) remotes(引用远程模块࿰…...
