加减乘除
小学都上过吧,那应该不用解释了。
- 基本运算符
运算符 | 描述 | 示范 |
---|---|---|
+ | 加法 | 1 + 1 输出2 |
- | 减法 | 8 - 6 输出2 6 - 8 输出-2 |
* | 乘法 | 3 * 4 输出12 |
/ | 除法 | 6 / 3 输出2.0 |
// | 取整 | 9 //2 输出4 9.0//2.0 输出4.0 |
& | 取余 | 6%4 输出2 |
** | 幂 | 2 ** 3 输出8 |
- 向上、向下取整
需要导入math
模块,输入math.ceil(值)
,可以向上取整数部分(小数进一)。输入math.floor(值)
,可以向下取整数部分(小数舍去)。
>>> import math # 向上取整或向下取整用math模块。
>>> math.ceil(6.4)
7
>>> math.floor(7.9999)
7
- 开方
需要导入math
模块,输入math.sqrt(值)
,可以对指定数字计算开方。
IN:
import math
print(math.sqrt(16))
OUT:
4.0
- 浮点数精确运算
Python小数运算不精确,需要导入decimal
模块。输入import decimal
,导入模块。
>>> 2.2 - 2
0.20000000000000018
>>> # 以上为未导入 decimal 模块的运算结果。
>>> import decimal #导入模块后运算结果。
>>> a = decimal.Decimal("2.2")
>>> b = decimal.Decimal("2")
>>> a - b
Decimal('0.2')
按位运算符
按位运算是把数字当做二进制数字进行计算的。
-
&
按位与运算符
按位运算符是把数值按照二进制数进行运算,输入数值 & 数值
,可以输出二进制计算后对应的十进制结果。按位运算原理:相应的位数都为1时,则该位的结果是1,否则为零。
>>> 5 % 7 # 5的二进制为101,7的二进制为111,计算结果为101
5
-
|
按位或运算符
按位运算符是把数值按照二进制数进行运算,输入数值 | 数值
,可以输出二进制计算后对应的十进制结果。按位运算原理:相应的位数只要有一个位为1时,则结果为1。
>>> 5 | 7 # 5的二进制为101,7的二进制为111,计算结果为111
7
-
^
按位异或运算符
按位运算符是把数值按照二进制数进行运算,输入数值 ^ 数值
,可以输出二进制计算后对应的十进制结果。按位运算原理:相应的位数只要不相同时为1时,否则为零。
>>> 5 ^ 7 # # 5的二进制为101,7的二进制为111,计算结果为010
2
-
~
按位取反运算符
按位运算符是把数值按照二进制数进行运算,输入数值 ~ 数值
,可以输出二进制计算后对应的十进制结果。按位运算原理:每个二进制位取相反数。
>>> ~5
-6
-
<<
左移动运算符
按位运算符是把数值按照二进制数进行运算,输入数值 << 数值
,可以输出二进制计算后对应的十进制结果。按位运算原理:各二进制数全部左移动若干位,由<<
右边数值决定移动多少位,高位丢弃,低位补0。
>>> 2 << 2
8
-
>>
右移动运算符
按位运算符是把数值按照二进制数进行运算,输入数值 >> 数值
,可以输出二进制计算后对应的十进制结果。按位运算原理:各二进制数全部左移动若干位,由>>
右边数值决定移动多少位,低位丢弃,高位补0。
>>> 13 >> 2
3
关系运算符
如果运算符两边的关系成立,整个关系运算符表达式的值为真,否则为假。
运算符 | 描述 | 表达式 |
---|---|---|
== | 等于 | 输入1 == 1 输出True |
!= | 不等于 | 输入1 != 2 输出True |
> | 大于 | 输入2 > 1 输出True |
>= | 大于等于 | 输入2 >= 1 输出True |
< | 小于 | 输入1 < 2 输出True |
<= | 小于等于 | 输入1 <= 2 输出True |
赋值运算符
赋值运算表达式
格式:变量 = 表达式
;先计算右侧表达式的值,然后赋值给左侧变量。=
赋值
输入变量名 = 值
,表示对变量进行赋值。
>>> a = 1
>>> a
1
-
+=
加法赋值
输入变量名 += 数值或变量
,表示将运算的结果对变量赋值。其余的赋值运算符方法一样。
>>> a = 100
>>> b = 50
>>> a += b
>>> a
150
逻辑运算符
-
and
逻辑与运算符
输入变量名 = 变量名 and 变量名 !=变量名
,and
两边都为真时,输出True,如果有一边为假时,输出False。and
表示并且。
>>> a = 1
>>> b = 2
>>> c = 1
>>> a != b and a ==c
True
>>> a == b and a ==c
False
>>> if a and b:
print("ok")
ok
-
or
逻辑或运算符
输入变量名 = 变量名 or 变量名 !=变量名
,只要or
的一边为真时,输出True,如果两边都为假,输出False。or
表示或者。
>>> a = 1
>>> b = 2
>>> c = 1
>>> a == c or a == b
True
>>> a == b or b == c
False
-
not
逻辑非运算符
输入not 变量名 == 变量名
,如果结果为真,输出False,如果结果为假,输出True。not
表示非。
>>> a = 1
>>> b = 2
>>> not a == b
True
>>> not a != b
False
成员运算符
-
in
如果在指定的序列中找到值返回True,否则返回False。
>>> li = [1, 2, 3]
>>> 3 in li
True
>>> 5 in li
False
-
not in
如果在指定的序列中没有找到值返回True,否则返回False。
>>> li = [1, 2, 3]
>>> 3 not in li
False
>>> 5 not in li
True
身份运算符
-
is
判断两个标识符是否引用同一个对象。 -
is not
判断两个标识符是否引用不同的对象。
运算符优先级
- **幂
- ~按位取反,+正号,-负号
- *乘,/除,//取整,%取余
- +加号,-减号
- <<左移动,>>右移动
- &按位与
- ^按位异或,|按位或
- <小于,<=小于等于,>大于,>= 大于等于
- ==等于,!=不等于
- =赋值,+=加法赋值,-=减法赋值,%=取余赋值,//=取整赋值
- is,is not
- in,not in
- and,or,not