(第二版)零基础入门Python小甲鱼-笔记-第三章-p10
数据类型(下)
上一节我们介绍了三种不同的数字类型,那么这一节课我们来谈谈数字之间的运算,Python支持的数字运算如下:
操作 | 结果 |
x + y | x加y的结果 |
x - y | x减y的结果 |
x * y | x乘以y的结果 |
x / y | x除以y的结果 |
x // y | x除以y的结果(地板除) |
x % y | x 除以 y的余数 |
-x | x的相反数 |
+x | x的本身 |
abs(x) | x的绝对值 |
int(x) | 将x转换为整数 |
float(x) | 将x转化为浮点数 |
complex(re, im) | 返回一个复数,re实部,im虚部 |
c.conjugate() | 返回c的共轭复数 |
divmod(x ,y) | 返回(x//y , x%y) |
pow(x , y) | 计算x的y次方 |
x ** y | 计算x的y次方 |
首先呢是加、减、乘、除,大家都很熟悉了这里就不做过多的演示。
1、双斜杠(地板除法) //
接下是双斜杠是什么?
双斜杠表示的是一种特殊的除法 我们称之为:地板除
什么是地板除呢? 地板除就是 确保两个数相除的结果是一个整数,如果不是整数怎么办,那就向下取整.
案例 比如说 3 除以 2 我们都知道它等于1.5
那地板除法的结果就是 1
有些小伙伴应该在这时候会轻蔑的一笑了 我还以为是什么高科技 不就是将小数部分裁掉嘛 这还不简单
NO 这么理解考试你又要扣分了 在结果是正数的情况下这么理解是没有问题的 如果结果是负数则会出现让你崩溃的答案
比如说 -3 // 2
按照上面的理解 地板除就是把小数部分裁掉 那结果应该是-1才对把 怎么就成-2 了?
正确的理解应该是取比目标结果小得最大整数 也就是所谓得向下取整
那就好理解了 比-1.5小得整数是 -2才对 所以 -3 // 2 结果是 -2
2、求余运算(%)
百分号用于求两数相除得余数,两数相除,如果能被整除那么余数是0,如果不能被整除那么就得到一个值,这个值我们称之为余数.
案例 3余2 余数是1 6余2它能够整除那么它得余数就是0
数学笔记好得小伙伴其实不难发现一条公式,就隐藏在其中
X == (x//y) * y + (x % y)
地板除得结果乘以除数加上余数等于被除数
Python就有一个内置得函数 (divmod)
它得作用呢就是同时求出两地板除得结果和余数的值
可以直接调用因为是内置函数嘞
3 和 2
3和2的地板除结果是1 那么3余数2的值也是1 所以得到的结果就是 1,1
-3 和 2
-3和2的地板除结果是-2 那么3余数2的值也是1 所以得到的结果就是 -2,1
3、相反数与本身
在数字前面加一共减号,事实上呢我们把它称之为符号对吧表示取相反数
加上正号表示数字本身,这没问题都是小学的内容啦
4、绝对值(abs)
接下来又是一共BIF abs() 它的作用就是返回指定数值的绝对值
比如说
x = -520 取绝对值那就是520没错啦
如果 y = -3.14 取绝对值那就是3.14
如果传入的值是正数那就返回本身
上一节课我们不还接触过一个叫做复数的概念嘛 这个事实上是一个高中数学的概念如果传入的是一个复数,那应该咋办 我们都知道 复数它是没有绝对值的 它有模啊 所以abs 返回的结果就是模
比如说这里 z = 1 + 2j abs(z) 返回结果2.23606797749979 就是1 + 2j这个复数的模
好啦有些童鞋可能根本不知道复数是虾米或者说已经把它还给老师了
ok这个没关系 因为我们不会在数学的知识上去过分深入研究
因为我们讲的是编程课程 好啦
5、转化为整数(int)
int 我们前面讲过是将指定的值转成整数对吧
比如我们传入一个字符串 “520”
int("520")
如果说我们传入的是一个浮点数 比如说3.14
那么它得到的是一共截掉小数部分的整数 3.14 等于 3
注意它不是四舍五入而是直接把这个浮点数给截断掉
6、转化为浮点数(float)、复数
float()和complex()是将指定的值转换成浮点数和复数没错
比如说float(“3.14”) 传入一个字符串 得到的是一共浮点数的3.14
我们知道字符串是不能进行计算,而浮点数的值、整数的值、复数的值它是可以计算的这是区别
比如说 float(520) 返回的是520.0
注意就算它是整数 它也叫上一个.0来进行说明 这是一个浮点数 这样你一眼就知道是520.0是一个浮点数而不是一个整数
有些童鞋可能就要抬杠啦 520.0 跟520 不是一样的么 是一样的 他们的值是一样的但是他们在计算机内部的存储方式是不一样的 所以呢计算机会区分出整数和浮点数
那我们还可以传入上节课讲到的一个E记法 float("+1E6") 注意这是用字符串来包裹起来
也是能够对他进行转换的 把他转换为浮点数.
那接着是complex()
演示一下complex("1+2j")
注意 这里如果传入的是字符串的话 中间是不能有空格的 看上去好像没问题但是Python 就不会这么认为了 它报错啦!
说你这个字符串有问题啊这不能转换为复数
7、pow()、幂运算(**)
通常情况下这两个实现的效果是等价的
pow(2 , 3) 表示2的3次方 等于8
用** 来 就是2 ** 3 也是8
然后我们试一下这个负数
pow( 2,-3) 等于0.125
2 ** -3 也是0.125
不过pow函数留有一手 它支持第三个参数 如果我们加入第三个参数那么将幂运算的结果与第三个参数进行取余运算
pow(2 ,3 ,5)
事实上就是
2 ** 3 % 5
函数的概念 就相当于一个封闭的工厂
我们只需要给它订单它就会按照我们的要求来生产输出
输入那就是参数 输出就是函数的返回值就是运算结果 而这其中加工过程我们是不需要理解的,除非这个工厂是你自己开的 我们先学会下订单和收货就可以啦