笔记:
运算中常见的几个函数:
max():求最大值;
min():求最小值;
pow():幂函数;
abs():计算绝对值;
divmod(5,2) :表示5除以2,返回的元组中包含商和余数
>>> divmod(5,2)
(2, 1)
round():四舍六入五取偶
#当尾数为5,而尾数后面的数字均为0时,应看尾数“5”的前一位:若前一位数字此时为奇数,就应向前进一位;若前一位数字此时为偶数,则应将尾数舍去。数字“0”在此时应被视为偶数。
>>> round(0.1350,2)
0.14
>>> round(0.1450,2)
0.14
#当尾数为5,而尾数“5”的后面还有任何不是0的数字时,无论前一位在此时为奇数还是偶数,也无论“5”后面不为0的数字在哪一位上,都应向前进一位。
>>> round(0.14501,2)
0.15
>>> round(0.13501,2)
0.14
math模块: math.floor():地板除; math.ceil():天花板除; math.sqrt():平方根;
>>> import math
>>> math.ceil(3.1)
4
>>> math.floor(3.9)
3
>>> math.sqrt(9)
3.0
@ 算术运算符
运算符 |
描述 | 实例 |
---|---|---|
+ | 加 | 1 + 1 输出结果 2 |
- | 减 | 2 - 1 输出结果 1 |
* | 乘 | 2 * 3 输出结果 6 |
/ | 除 | 4 / 2 输出结果 2 |
% | 取模(两数相除取余数) | 9 % 2输出结果 1 |
** | 幂(a**b:a的b次方) | 2**3 输出结果8 >>> pow(2,3) |
// | 整除(向下取整) | 9//2 输出结果 4 |
@ 赋值运算符
运算符 | 描述 | 实例 |
---|---|---|
= | 赋值 | c = a + b 将 a + b 的运算结果赋值为 c |
+= | 加法赋值 | c += a 等效于 c = c + a |
-= | 减法赋值 | c -= a 等效于 c = c - a |
*= | 乘法赋值 | c *= a 等效于 c = c * a |
/= | 除法赋值 | c /= a 等效于 c = c / a |
%= | 取模赋值 | c %= a 等效于 c = c % a |
**= | 幂赋值 | c **= a 等效于 c = c ** a |
//= | 取整除赋值 | c //= a 等效于 c = c // a |
@ 比较运算符
运算符 | 描述 | 实例 |
---|---|---|
== | 等于 | (a == b) 返回 False |
!= | 不等于 | (a != b) 返回 true |
<> | 不等于 | (a <> b) 返回 true(这个运算符类似 != ) |
> | 大于 | (a > b) 返回 False |
< | 小于 | (a < b) 返回 true |
>= | 大于等于 | (a >= b) 返回 False |
<= | 小于等于 | (a <= b) 返回 true |
@位运算符
运算符 | 描述 | 实例 |
---|---|---|
& | 按位与:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 | (a & b) 输出结果 12 ,二进制解释: 0000 1100 |
| | 按位或:只要对应的二个二进位有一个为1时,结果位就为1。 | (a | b) 输出结果 61 ,二进制解释: 0011 1101 |
^ | 按位异或:当两对应的二进位相异时,结果为1 | (a ^ b) 输出结果 49 ,二进制解释: 0011 0001 |
~ | 按位取反:对数据的每个二进制位取反,即把1变为0,把0变为1 。~x 类似于 -x-1 | (~a ) 输出结果 -61 ,二进制解释: 1100 0011,在一个有符号二进制数的补码形式。 |
<< | 左移动:运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0。 | a << 2 输出结果 240 ,二进制解释: 1111 0000 |
>> | 右移动:把">>"左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数 | a >> 2 输出结果 15 ,二进制解释: 0000 1111 |
@逻辑运算符
运算符 | 逻辑表达式 | 描述 |
---|---|---|
and | x and y | "与" - x和y只要有一个False为False,全True才为True。 |
or | x or y | "或" - x和y只要有一个True为True,全False为False。 |
not | not x | "非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 |
a = 1
b = None
if a and b:
print('第一个:',"hello") #与(相乘)
if a or b:
print('第二个:',"hello") #或(相加)
if not a:
print('第三个:',"hello") #非(取反)
if not b:
print('第四个:',"hello")
打印结果:
第二个: hello
第四个: hello
@成员运算符
运算符 |
实例 | 描述 |
---|---|---|
in | 如果 x 在 y 序列中返回 True。 | 如果在指定的序列中找到值返回 True,否则返回 False。 |
not in | 如果 x 不在 y 序列中返回 True。 | 如果在指定的序列中没有找到值返回 True,否则返回 False。 |
x = [1,2,3]
print('成员运算符in:',1 in x)
print('成员运算符not in:',1 not in x)
打印结果:
True
False
@身份运算符
运算符 | 描述 | 实例 |
---|---|---|
is | is 是判断两个标识符是不是引用自一个对象 | x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False |
is not | is not 是判断两个标识符是不是引用自不同对象 | x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。 |
x = [1,2,3]
y = x.copy()
print('身份运算符is:',x is y)
print('身份运算符is not:',x is not y )
打印结果:
False
True
@运算符优先级
运算符 | 描述 |
---|---|
** | 指数 (最高优先级) |
~ + - | 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@) |
* / % // | 乘,除,取模和取整除 |
+ - | 加法减法 |
>> << | 右移,左移运算符 |
& | 位 'AND' |
^ | | 位运算符 |
<= < > >= | 比较运算符 |
<> == != | 等于运算符 |
= %= /= //= -= += *= **= | 赋值运算符 |
is is not | 身份运算符 |
in not in | 成员运算符 |
not and or | 逻辑运算符 |