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.pimath.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基础教程(二十六):对接MongoDBPython基础教程(二十六):对接MongoDB
Python基础教程(二十七):urllib模块Python基础教程(二十七):urllib模块
Python基础教程(二十八):pip模块Python基础教程(二十八):pip模块
Python基础教程(二十九):operator模块Python基础教程(二十九):operator模块

❤️❤️❤️觉得有用的话点个赞 👍🏻 呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄
💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍
🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

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

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

相关文章

Stable Diffusion部署教程,开启你的AI绘图之路

本文环境 系统:Ubuntu 20.04 64位 内存:32G 环境安装 2.1 安装GPU驱动 在英伟达官网根据显卡型号、操作系统、CUDA等查询驱动版本。官网查询链接https://www.nvidia.com/Download/index.aspx?langen-us 注意这里的CUDA版本,如未安装CUD…

哎呦我, HashMap KeySet有序? 好像是哈

背景:有8个格子,上架物品时需要从第一个格子开始上架,不能跳格子,也就是说 如果格子1空着,就不能把物品放到格子2。有这么个顺序的情况 前人模块功能实现: 用HashMap 初始化格子信息,然后用 Ke…

Excel 如何复制单元格而不换行

1. 打开excle, sheet1右键单击>查看代码>插入>模块 输入代码 Sub CopyText() Updated by NirmalDim xAutoWrapper As ObjectSet xAutoWrapper New DataObject or GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")xAutoWrapper.SetText ActiveC…

等保2.0中,如何确保云服务提供商的数据主权合规?

等保2.0(网络安全等级保护2.0)为了确保云服务提供商的数据主权合规,提出了若干关键措施和要求,主要包括但不限于以下几点: 1. 数据地理位置要求:明确规定云服务提供商必须保证所有基础设施位于中国境内&am…

OpenCv形态学(一)

目录 形态学转换 结构元素 腐蚀 膨胀 开运算 闭运算 形态学梯度 顶帽 黑帽 图像轮廓 查找轮廓 绘制轮廓 形态学转换 形态变换是一些基于图像形状的简单操作。通常在二值图像上执行。它需要两个输入,一个是我们的原始图像,第二个是决定操作性…

AudioSep:从音频中分离出特定声音(人声、笑声、噪音、乐器等)本地一键整合包下载

AudioSep是一种 AI 模型,可以使用自然语言查询进行声音分离。这一创新性的模型由Audio-AGI开发,使用户能够通过简单的语言描述来分离各种声音源。 比如在嘈杂的人流车流中说话的录音中,可以分别提取干净的人声说话声音和嘈杂的人流车流噪声。…

实战|YOLOv10 自定义目标检测

引言 YOLOv10[1] 概述和使用自定义数据训练模型 概述 由清华大学的研究团队基于 Ultralytics Python 包研发的 YOLOv10,通过优化模型结构并去除非极大值抑制(NMS)环节,提出了一种创新的实时目标检测技术。这些改进不仅实现了行业领…

PyTorch -- RNN 快速实践

RNN Layer torch.nn.RNN(input_size,hidden_size,num_layers,batch_first) input_size: 输入的编码维度hidden_size: 隐含层的维数num_layers: 隐含层的层数batch_first: True 指定输入的参数顺序为: x:[batch, seq_len, input_size]h0:[batc…

MySQL 创建数据表

创建MySQL数据表需要以下信息: 表名表字段名定义每个表字段 语法 以下为创建MySQL数据表的SQL通用语法: CREATE TABLE table_name (column_name column_type); 以下例子中我们将在 W3CSCHOOL 数据库中创建数据表w3cschool_tbl: CREAT…

three.js 第八节 - gltf加载器、解码器

// ts-nocheck // 引入three.js import * as THREE from three // 导入轨道控制器 import { OrbitControls } from three/examples/jsm/controls/OrbitControls // 导入hdr加载器(专门加载hdr的) import { RGBELoader } from three/examples/jsm/loaders…

Unity3d自定义TCP消息替代UNet实现网络连接

以前使用UNet实现网络连接,Unity2018以后被弃用了。要将以前的老程序升到高版本,最开始打算使用Mirro,结果发现并不好用。那就只能自己写连接了。 1.TCP消息结构 (1). TCP消息是按流传输的,会发生粘包。那么在发射和接收消息时就需要对消息进行打包和解包。如果接收的消息…

建造者模式(大话设计模式)C/C++版本

建造者模式 C 参考&#xff1a;https://www.cnblogs.com/Galesaur-wcy/p/15907863.html #include <iostream> #include <vector> #include <algorithm> #include <string> using namespace std;// Product Class&#xff0c;产品类&#xff0c;由多个…

荒野大镖客2启动找不到emp.dll的7个修复方法,轻松解决dll丢失的办法

一、emp.dll文件丢失的常见原因 安装或更新问题&#xff1a;在软件或游戏的安装过程中&#xff0c;可能由于安装程序未能正确复制文件到目标目录&#xff0c;或在更新过程中文件被意外覆盖或删除&#xff0c;导致emp.dll文件丢失。 安全软件误删&#xff1a;某些安全软件可能…

【ajax基础01】ajax简介

目录 一&#xff1a;ajax简介 1 什么是ajax 二&#xff1a;ajax使用 1 如何使用ajax 2 axios使用&#xff08;重点&#xff09; 三&#xff1a;案例 四&#xff1a;如何赚钱 一&#xff1a;ajax简介 1 什么是ajax AJAX&#xff08;Asynchronous JavaScript And XML &am…

莱辅络Rebro BIM机电专业软件

莱辅洛&#xff08;Rebro&#xff09;是一款专业机电 BIM 软件。它具备专业人士所期待的各种专业功能&#xff0c;应用于建筑机电工程的三维设计&#xff0c;并且适用于建筑、结构、给排水、暖通、电气五大专业。 该软件具有以下特点&#xff1a; • 3D 模型&#xff1a;可以…

渗透测试-若依框架的杀猪交易所系统管理后台

前言 这次是带着摸鱼的情况下简单的写一篇文章&#xff0c;由于我喜欢探究黑灰产业&#xff0c;所以偶尔机遇下找到了一个加密H币的交易所S猪盘&#xff0c;我记得印象是上年的时候就打过这一个同样的站&#xff0c;然后我是通过指纹查找其它的一些站&#xff0c;那个站已经关…

计网重点面试题-TCP三次握手四次挥手

三次握手 第一次握手(syn1) 客户端会随机初始化序号&#xff08;client_isn&#xff09;&#xff0c;将此序号置于 TCP 首部的「序列号」字段中&#xff0c;同时把 SYN 标志位置为 1&#xff0c;表示 SYN 报文。接着把第一个 SYN 报文发送给服务端&#xff0c;表示向服务端发…

一个电商创业者眼中的618:平台大变局

战役结束了&#xff0c;战斗还在继续。 一位朋友去年5月创业&#xff0c;网上卖咖啡&#xff0c;这个赛道很拥挤&#xff0c;时机也不好&#xff0c;今年是他参加第一个618。朋友说&#xff0c;今年的目标是锤炼团队&#xff0c;总结方法&#xff0c;以及最重要的——活下去。…

基于CentOS Stream 9平台 安装/卸载 Redis7.0.15

已更正systemctl管理Redis服务问题 1. 官方下载地址 https://redis.io/downloads/#redis-downloads 1.1 下载或上传到/opt/coisini目录下&#xff1a; mkdir /opt/coisini cd /opt/coisini wget https://download.redis.io/releases/redis-7.0.15.tar.gz2. 解压 tar -zxvf re…

基于IDEA的Maven简单工程创建及结构分析

目录 一、用 mvn 命令创建项目 二、用 IDEA 的方式来创建 Maven 项目。 &#xff08;1&#xff09;首先在 IDEA 下的 Maven 配置要已经确保完成。 &#xff08;2&#xff09;第二步去 new 一个 project &#xff08;创建一个新工程&#xff09; &#xff08;3&#xff09;…