math python 向上取整_Python成为专业人士笔记-各数学运算操作深度剖析

“专业人士笔记”系列目录:

创帆云:Python成为专业人士笔记--强烈建议收藏!每日持续更新!​zhuanlan.zhihu.com
6fb28011cff670b3de46736bcc9a62f7.png

Python可以执行常见的数学运算符,包括整数和浮点除法、乘法、取幂、加法和减法,而数学math模块(包含在所有标准Python版本中)提供了扩展功能,如三角函数、根操作、对数等。

Division 除法

当两个操作数都是整数时,Python3执行后返回的结果是float数据类型,这点和Python2不同;Python不同版本对除法的处理会有不同,其是根据除号两端变量的数据类型决定如何处理的

比如, 我们先定义几个变量:

a, b, c, d, e = 3, 2, 2.0, -3, 10

在Python 3中,

‘/’ 运算符执行“ true”原始除法,即除出来是结果是多少就显示多少, 和参与的数据类型无关。但注意结果的数据类型都是小数float型(这点和pyton2不同);

‘//’运算是除完后强制取整数部分(注意,不是四舍五入),其结果的数据类型,取决于参与计算的数据类型,两个都为整数则结果为整数;其中有一个是float小数,则整个结果为小数;两个都为小数,则结果也是小数

 a / b # = 1.5e / b # = 5.0a // b # = 1a // c # = 1.0import operator# operator 模块接收两个算术参数operator.truediv(a, b)#输出 1.5operator.floordiv(a, b)= 1#输出 1operator.floordiv(a, c)#输出 1.0

内置数据类型之间相除后的返回数据类型:

 int and int ( Python 2 中返回 int整数结果,Python 3 中返回 float小数结果)int and float (返回 float)int and complex (返回 complex 复数)float and float (返回  float)float and complex (返回  complex)complex and complex (返回 complex)

Addition 加法

a, b = 1, 2
用 "+" 操作符:
a + b 
# = 3# 用 "in-place" "+=" 进行变量的添加和重赋值:a += b # a = 3 (相当于 a = a + b,对变量操作并重赋值了)import operatoroperator.add(a, b)# 输出 5  注意:a变量在上面一行代码变成3了a = operator.iadd(a, b)# a = 5 相当于 a = a + b,对变量操作并重赋值了 

内置数据类型之间相加后返回的数据类型:

int and int (返回 int)
int and float (返回 float)
int and complex (返回 complex)
float and float (返回 float)
float and complex (返回 complex)
complex and complex (返回 complex)

注意:‘+’运算符也用于连接字符串、列表和元组

 "first string " + "second string"#输出: 'first string second string'[1, 2, 3] + [4, 5, 6]#输出:[1, 2, 3, 4, 5, 6]

取幂运算

 a, b = 2, 3(a ** b)#= 8pow(a, b)#= 8import mathmath.pow(a, b)= 8.0 (float小数,不支持complex复数)import operatoroperator.pow(a, b)#= 8

内置的pow和数学模块math的pow之间的另一个区别是,内置的pow可以接受三个参数

 a, b, c = 2, 3, 2pow(2, 3, 2)#  输出0,计算等效于 (2 ** 3)% 2,但根据Python文档,直接这样写更有效而不是调用pow函数

特殊函数

函数math.sqrt(x)计算x的平方根

 import mathimport cmathc = 4math.sqrt(c)#输出 2.0 ( float小数,不支持complex复数 )cmath.sqrt(c)#输出 (2+0j) (提供complex复数支持)

若要计算其他根,如立方根,则将该数提到根的次数的倒数,这可以用任何指数函数或操作符来做。

 import mathx = 8math.pow(x, 1/3) #  计算结果为2.0 x**(1/3) # 计算结果为 2.0

函数math.exp(x)计算e ** x :

 math.exp(0)#输出1.0math.exp(1)#输出2.718281828459045 (e)

函数math.expm1(x)计算e ** x – 1。当x很小时,这比math.exp(x) – 1的精度要高得多

 math.expm1(0)#0.0math.exp(1e-6) - 1#1.0000004999621837e-06math.expm1(1e-6)#1.0000005000001665e-06完整结果: # 1.000000500000166666708333341666…

Trigonometric Functions 三角函数

 a, b = 1, 2import mathmath.sin(a)#返回弧度“ a”的正弦 0.8414709848078965math.cosh(b)#返回弧度'b'的反双曲余弦值 #输出: 3.7621956910836314math.atan(math.pi)# 返回以弧度为单位的反正切   1.2626272556789115 math.hypot(a, b) #  返回欧几里得范数,与math.sqrt(aa + bb)相同   2.23606797749979 

请注意math.hypot(x,y)是 点(x,y) 距原点(0,0)的向量的长度(或欧几里得距离), 所以要计算两个点(x1,y1)和(x2,y2)之间的欧几里得距离,可以使用这个函数:math.hypot(x2-x1, y2-y1)

要从弧度->度和度->弧度分别使用math.degrees和math.radians进行转换

 math.degrees(a)#输出: 57.29577951308232math.radians(57.29577951308232)#输出: 1.0

简易操作符

在应用程序中,通常需要这样的代码 :

a = a + 1

a = a * 2

对于这些操作有一个有效的快捷方式

 a += 1和a *= 2

任何数学运算符都可以使用在’=’字符之前,以进行简易运算:

 -= 递减变量 += 递增变量 *=  递乘变量 /= 递除变量//= 递除后取整变量%= 递取模后变量**= 递取 幂 变量

同样,对于按位运算符(^,| 等都是适用的

Subtraction 减法

 a, b = 1, 2使用“-”操作符 :b - a # 输出= 1import operator包含2个参数算术的函数 operator.sub(b, a)#输出= 1

内置数据类型之间相减后返回的数据类型:

 int and int (返回 int)int and float ( 返回  float)int and complex ( 返回  complex)float and float ( 返回  float)float and complex ( 返回  complex)complex and complex ( 返回  complex)

Multiplication 乘法

 a, b = 2, 3a * b # 输出 6import operatoroperator.mul(a, b)#输出 6

内置数据类型之间相乘后返回的数据类型:

 int and int ( 返回   int)int and float ( 返回   float)int and complex ( 返回   complex)float and float ( 返回  float)float and complex ( 返回  complex)complex and complex ( 返回   complex)

注意: *操作符也可用于字符串、列表和元组的重复连接 :

 3 * 'ab'#输出: 'ababab'3 * ('a', 'b')#元组被重复了 ('a', 'b', 'a', 'b', 'a', 'b')

Logarithms 对数

默认情况下,math.log函数计算以e为底数的对数,你可以选择指定一个底数作为第二个参数:

 import mathimport cmathmath.log(5)#输出 1.6094379124341003#基础参数可选,默认是math.e math.log(5, math.e) # 输出 1.6094379124341003cmath.log(5)#输出 (1.6094379124341003+0j)math.log(1000, 10)#输出:3.0 (常返回 float)cmath.log(1000, 10)#输出:(3+0j)

Log函数的特殊变体适用于不同的情况:

 # 以e - 1为底的对数(值较小时精度更高) math.log1p(5)#输出 1.791759469228055#对数底2math.log2(8)#输出 3.0#对数底10math.log10(100)#输出 2.0cmath.log10(100)#输出 (2+0j)

Modulus 模数

与许多其他语言一样,Python使用%运算符来取模

 3 % 4#输出310 % 2#输出 06 % 4#输出 2

或者使用 operator module:

import operator
operator.mod(3 , 4)#输出 3
operator.mod(10 , 2)#输出 0operator.mod(6 , 4)#输出 2

当然, 你也可以用负数 :

 -9 % 7#输出 59 % -7#输出 -5-9 % -7#输出 -2

如果需要找到整数除法和模数的结果,可以使用divmod函数:

 quotient, remainder = divmod(9, 4)# quotient = 2, remainder = 1 因为 4 * 2 + 1 == 9

今天的分享就到这里,禁止转载,违者必究!

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

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

相关文章

css3 shapes是什么意思,如何在Web中使用CSS Shapes

布局一般都是遵循按行和列等线性原则,Web网站的布局到今天为止很大程度上受到这些原则的影响。虽然CSS Grid的出现让布局变得更好,更灵活,但相对于印刷媒体而言,Web布局总体上还是受到很好的限制,特别是内容流上。杂志…

wps临时文件不自动删除_电脑:让 Windows 10 系统自动清理临时文件

不少朋友在系统用久了以后,都会用一些软件来帮忙清理系统中没用的文件,其中包括一些临时文件、无用文件等。但其实在 Windows 10 中,系统已经内置了自动定期清理临时文件的功能了。你还不知道?跟着我们来学习下吧。这个功能就隐藏…

服务器系统gho系统怎么安装系统,GHOST怎么重装系统?GHO文件安装系统教程

ghost映像文件就是系统文件,通过gho文件我们可以就进行系统的重装。不过对于电脑小白来说,不知道在哪里可以下载纯净的ghost文件,下载完成后也不清楚如何使用gho文件安装系统。那么下面就让小编教大家使用gho文件重装系统。相关教程&#xff…

Science | 谷岩/王朗团队揭示大脑中的免疫细胞竟是记忆遗忘的“主谋”

来源:BioArt记忆是大脑最重要的功能之一,也是人类研究最多的脑功能之一。记忆随时在发生,而遗忘如影随形。海马体位于大脑丘脑和内侧颞叶之间,是负责记忆的编码和存储的一个重要脑区。在这里,记忆信息被编码于一些神经…

基于深层卷积网络的手写数字识别 minist_「Tensorflow」基于CNN的数字OCR识别

导读 对于人类来说,识别手写的数字是一件非常容易的事情。我们甚至不用思考,就可以看出下面的数字分别是1,2,3。那机器如何来识别数字?本期将使用Tensorflow搭建卷积神经网络,进行手写数字的识别。代码可关…

2019年5G创新深度研究报告

来源:中信建投从历史上看,每一轮科技产业创新周期均主要由通信代际升级驱动,历时 5-8 年。我们认为 2017-2019 年为 4G 时代的稳定成熟期,而进入 2020 年,运营商加速投入 5G 网络建设,科技软硬件有望在运营…

鹰眼系统原理_山东首家露天焚烧鹰眼监控系统在我镇投入使用

露天冒烟着火,不用人员到现场,电子围栏就会锁定目标,自动报警,提醒监管人员立即现场处置。日前,莱西市院上镇新安装建设的污染源鹰眼监控系统投入使用,实现了环境监控全方位、自动化。据了解,这…

机器人的工作原理,这是我见过最详细的解析!

来源:网络很多人一听到“机器人”这三个字脑中就会浮现“外形酷炫”、“功能强大”、“高端”等这些词,认为机器人就和科幻电影里的“终结者”一样高端炫酷。其实不然,在本文中,我们将探讨机器人学的基本概念,并了解机…

linux mint 图标主题_如何在 Linux Mint 中更换主题

一直以来,使用 Cinnamon 桌面环境的 Linux Mint 都是一种卓越的体验。这也是为何我喜爱 Linux Mint的主要原因之一。-- Its Foss(作者)一直以来,使用 Cinnamon 桌面环境的 Linux Mint 都是一种卓越的体验。这也是为何我喜爱 Linux…

服务器物品展示框刷物品,我的世界1period;11period;2展示框刷物品bug | 手游网游页游攻略大全...

发布时间:2017-09-25我的世界惊现全新无限刷物品bug 服主大大都要注意了.那今天给大家分享一个玩家无意间发现的新的无限刷物品bug,而且还是在服务器中哦!那感兴趣的玩家不妨进来看看哦! 在一个rpg服务器玩 开小号召唤boss的时候发现的. ...标签:我的世界…

Nature:揭示人大脑类器官为何缺乏正常人脑特有的细胞亚型和复杂回路

来源:生物谷作为在实验室中通常利用人类干细胞培育出的大脑样组织三维球体,大脑类器官被吹捧为有潜力让科学家们在受控的实验室条件下研究大脑回路的形成。关于大脑类器官的讨论非常热闹,一些科学家认为它们将使得快速开发针对破坏性的脑部疾…

anaconda 怎么安装xlrd_Pyinstaller打包,文件太大了怎么办?

这是一个很长的故事,嫌长的直接看最后的结论事情经过上周接了个需求,写了个小工具给客户,他要求打包成exe文件,这当然不是什么难事。因为除了写Python的,绝大多数人电脑里都没有Python编译器,所以打包成exe…

android checkbox 选中事件_使用Vue3.0新特性造轮子 WidgetUI3.0 (Checkbox复选框组件)

"title"标题示例代码:data [ { title: 新日小卫士二代, }, { title: 车子质量不合格, }, { title: 我买的骑士1号仪表台进水怎么回事?, }, { title: 风雅欧妮大灯高低调节, }]"title"标题和"desc"描…

服务器装系统用哪个好,服务器系统重装用哪个系统

服务器系统重装用哪个系统 内容精选换一换华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。重装裸金属服务器的操作系统。快速发放裸金属服务器支持…

2020图机器学习GNN的四大研究趋势

来源:专知【导读】以图神经网络为代表的图机器学习在近两年成为研究热点之一。近日,图机器学习专家 Sergei Ivanov 为我们解读了他总结出来的 2020 年图机器学习的四大热门趋势,包括图神经网络的理论理解、应用普及、应用、图嵌入框架&#x…

c++ 将文件内容输出到word上_原来PDF转Word可以这么简单,只需要一个键!办公起来真方便...

在职场办公中,我们经常接触到PDF文件,如果让你把PDF转换成Word,你还在束手无策吗?今天就来教你3种方法,如何将PDF转换成Word。01.复制粘贴法相信很多新手都只会【CtrlC/V】,虽然PDF文件不能直接被修改&…

python的类和实例_Python使用类和实例

我们可以使用类来模拟现实世界中的很多情景。类编写好后,你的大部分时间都将花在使用根据类创建的实例上。你需要执行的一个重要任务是修改实例的属性。你可以直接修改实例的属性,也可以编写方法以特定的方式进行修改。 Car类 下面来编写一个表示汽车的类…

iApp最新版无服务器多功能软件库源码

无需服务器的多功能软件库源码分享,仅需添加一个后台应用和一个文档即可 使用教程如下: 在浏览器中打开理想后台地址:http://apps.xiaofei.run/user/ 如果没有账号,请注册一个免费账号。 登录账号后,添加一个后台应…

rpc协议微服务器,RPC协议及实现方式(分布式微服务治理的核心)

分布式微服务治理的核心在于: 微服务和分布式(微服务框架)微服务的最优技术实现目前是: SpringBoot(RPC 框架)分布式的最优技术实现目前是: Thrift,Motan,Dubbo,Spring Cloud(Netflix OSS),Finagle,gRPCRPC 是什么RPC 的全称是 Remote Procedure Call ,是一种进程间…

2019年度全球工程前沿研究报告

来源:JAS自动化学报英文版1. 工程研究前沿1.1 Top 10 工程研究前沿发展态势信息与电子工程领域 Top 10 工程研究前沿涉及电子科学与技术、光学工程与技术、仪器科学与技术、信息与通信工程、计算机科学与技术、控制科学与技术等学科方向。其中,“面向光互…