Python 数字运算
四则运算
- 加法:
1 + 2
结果是3
- 减法:
1 - 2
结果是1
- 乘法:
1 * 2
结果是2
- 除法:
1 / 2
结果是0.5
地板除
- 双斜杠(
//
)表示一种特殊的除法 —— 地板除 - 地板除原理是取比目标结果小的最大整数:
3 // 2
结果是1
,3 // 2
结果是2
- 取余
- 百分号(
%
)用于求两数相除的余数,如果能够整除,则余数为0
:3 % 2
结果是1
,6 % 2
结果是0
- 百分号(
- 一条不是很重要的公式
- 地板除的结果乘以除数 + 余数 = 被除数:
x == (x // y) * y + (x % y)
- 地板除的结果乘以除数 + 余数 = 被除数:
运算内置函数
- divmod() 函数
- Python 有个内置函数叫 divmod(),它的作用就是同时求出两参数地板除的结果和余数:
divmod(3, 2)
结果是(1, 1)
,divmod(-3, 2)
结果是(-2, 1)
- Python 有个内置函数叫 divmod(),它的作用就是同时求出两参数地板除的结果和余数:
- abs() 函数
- abs() 函数的作用是返回指定数值的绝对值:
abs(-520)
结果是520
,abs(-3.14)
结果是3.14
- 如果传入的是一个复数,abs() 函数返回的结果就是复数的模:
abs(1 + 2j)
结果是2.23606797749979
- abs() 函数的作用是返回指定数值的绝对值:
- int(),float() 和 complex() 函数
- int() 函数是将指定的值转换成整数,比如我们传入一个字符串 '520',那么得到结果就是一个整数 520:
int('520')
结果是520
- 如果参数是一个浮点数,那么就要注意了,因为它得到的将是一个截掉小数的整数:
int(3.14)
结果是3
,int(9.99)
结果是9
- 同样的道理,float() 和 complex() 函数是将指定的值转换成浮点数和复数
- int() 函数是将指定的值转换成整数,比如我们传入一个字符串 '520',那么得到结果就是一个整数 520:
- pow() 函数和幂运算符(**)
- 通常情况下,pow() 函数和幂运算符()这两个实现的效果是等价的:
pow(2, 3)
结果是8
2 3结果是
8,
pow(2, -3)结果是
0.125,
2 ** -3结果是
0.125` - 如果传入第 3 个参数,那么会将幂运算的结果和第 3 个参数进行取余数运算:
pow(2, 3, 5)
结果是3
,相当于2 ** 3 % 5
结果是3
- 通常情况下,pow() 函数和幂运算符()这两个实现的效果是等价的:
Python 运算符优先级和短路逻辑
短路逻辑
and
和or
这两个运算符都是遵从短路逻辑的- 短路逻辑的核心思想就是:从左往右,只有当第一个操作数的值无法确定逻辑运算的结果时,才对第二个操作数进行求值
运算符优先级
- 这个表格从低到高列出了 Python 的运算符优先级:
优先级 | 运算符 | 描述 | |
---|---|---|---|
1 | lambda | Lambda 表达式 | |
2 | if - else | 条件表达式 | |
3 | or | 布尔“或” | |
4 | and | 布尔“与” | |
5 | not x | 布尔“非” | |
6 | in, not in, is, is not, <, <=,>, >=, !=, == | 成员测试,同一性测试,比较 | |
7 | 按位或 | ||
8 | ^ | 按位异或 | |
9 | & | 按位与 | |
10 | <<, >> | 移位 | |
11 | +, - | 加法,减法 | |
12 | *, @, /, //, % | 乘法,矩阵乘法,除法,地板除,取余数 | |
13 | +x,-x, ~x | 正号,负号,按位非(翻转) | |
14 | ** | 指数 | |
15 | await x | Await 表达式 | |
16 | x[index], x[index:index], x(arguments...), x.attribute | 下标,切片,函数调用,属性引用 | |
17 | (expressions...), [expressions...], {key: value...}, {expressions...} | 绑定或元组显示,列表显示,字典显示,集合显示 |
© 版权声明
文章版权归作者所有,未经允许请勿转载。
请登录后查看评论内容