运算符与表达式
- 一、算术运算符与算术表达式
- 1、算术运算符
- 2、算术运算表达式
- 二、比较运算符
- 三、赋值运算符与赋值运算表达式
- 四、逻辑运算符
- 五、位运算符
- 六、成员运算符
- 七、身份运算符
一、算术运算符与算术表达式
1、算术运算符
1
2
3
4
5
6
7
8
9
10
11假设变量 a = 10, b = 20 + :加 两个对象相加 例如 a + b = 30 - :减 标识负数/一个数减去另一个数 a - b = -10 * :乘 两个数相乘/返回一个被重复若干次的字符串 a*b=200 / : 除 b除以a b/a = 2 % : 取模 返回除法的余数 b%a = 0 ** :幂,返回x的y次幂 a**b=10^20 // : 取整 返回商的整数部分 9//2=4, 9.0//2.0=4.0 被除数 除以 除数 = 商 ... 余数
2、算术运算表达式
1
2
3
43+2 3-1 8**9 5%3 功能:进行相关符号的数学运算,不会改变变量的值 值:相关的数学运算的结果
二、比较运算符
== 等于,比较对象是否相等,返回布尔类型的值
1
2
3
4
5>>> a = 10 >>> b = 20 >>> print(a == b) False
!= 不等于,比较对象是否不相等
1
2
3
4
5>>> a = 10 >>> b = 20 >>> print(a != b) True
大于,x > y,返回x是否大于y
1
2
3
4
5>>> a = 10 >>> b = 20 >>> print(a > b) False
< 小于,x < y,返回x是否小于y
1
2
3
4
5>>> a = 10 >>> b = 20 >>> print(a < b) True
‘>=’ 大于等于,x >= y,返回x是否大于等于y
1
2
3
4
5>>> a = 10 >>> b = 20 >>> print(a >= b) False
<= 小于等于,x <= y,返回x是否小于等于y
1
2
3
4
5
6
7
8>>> a = 10 >>> b = 20 >>> print(a <= b) True 比较的结果,返回的是bool值,只有True或者False.
三、赋值运算符与赋值运算表达式
赋值运算符 =
赋值运算表达式
格式:变量 = 表达式功能:计算了等号右侧的“表达式”的值,并赋值给等号左侧的变量
值:赋值结束之后的变量
1
2
3num1 = 10 num2 = num1 + 2
复合运算符
1
2
3
4
5
6
7
8+= 加法赋值运算符 a += b a = a + b -= 减法赋值运算符 a -= b a = a - b *= 乘法赋值运算符 a *= b a = a * b /= 除法赋值运算符 a /= b a = a / b %= 取模赋值运算符 a %= b a = a % b **= 幂赋值运算符 a **= b a = a ** b //= 取整除赋值运算符 a //= b a = a // b
四、逻辑运算符
and运算是与运算,只有所有都为True,and运算的结果才是True:
1
2
3
4
5
6
7>>> True and True True >>> True and False False >>> 5>3 and 3>1 True
or运算是或运算,只要其中一个为True,or运算结果就是True
1
2
3
4
5
6
7>>>True or True True >>>True or False True >>>False or False False
not 运算是非运算,它是一个单目运算符,把True变成False,False变成True
1
2
3
4
5
6
7>>> not True False >>> not False True >>> not 1>2 True
短路原则
表达式1 and 表达式2 and 表达式3 … 如果表达式1为假,则整个表达式的值为假,后面的表达式则没有计算的必要
表达式1 or 表达式2 or 表达式3 … 如果表达式1为真,则整个表达式的值为真,后面的表达式的值就没有计算的必要
五、位运算符
1
2
3
4
5
6
7
8我们进行位运算的时候,我们需要把数值转换为二进制数来进行计算 & 按位与 | 按位或 ^ 按位异或 ~ 按位取反 << 左移 >> 右移
1.与运算【&】
参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
1
2
3
4
5
6
73 & 2 = 2 0 1 1 0 1 0 ------ 0 1 0
2.按位或【|】
只要对应的两个二进位有一个为1时,结果位就为1
1
2
3
4
5
6
73 | 2 = 3 0 1 1 0 1 0 ----- 0 1 1
3.按位异或【^】
当两对应的二进位相异时,结果为1
1
2
3
4
5
63 ^ 2 = 1 0 1 1 0 1 0 ----- 0 0 1
4.按位取反【~】
对数据的每个二进制位取反,即把1变为0,把0变为1
1
2
3
4
5
6
7~3 = -4 0000 0011 ---------- 1111 1100 补码=》 1111 1011 反码=》原码 1000 0100 -4
5.左移运算符【<<】
运算数的各二进位全部左移若干位,由”<<”右边的数指定移动的位数,低位补0
注意:向左移动,右边空出来的补0,左移其实就是乘以2的位数次幂
1
2
3
4
5
63 << 2 = 12 = 3 * 2^2 0 1 1 ------ 0 1 1 0 0
6.右移运算符【>>】
把”>>”左边的运算数的各二进位全部右移若干位,”>>”右边的数指定移动的位数
注意:如果最高位0,右移后,用0补空位,如果最高位1,右移后,用1补空位,右移其实就是除以2的位数次幂。
1
2
3
4
5
6
7
8
93 >> 2 = 0 = 3//(2^2) 0 1 1 ----- 0 0 0 1 1 -4 >> 2 = -1 1 0 0 0 0 1 0 0 =》补码运算=》原码
六、成员运算符
in:如果在指定的序列中找到返回值True,否则返回False
1
2
3
4
5
6
7
8>>>a = 10 >>>list1 = [1, 2, 4, 5] >>>list2 =[20, 10, 15] >>>print(a in list1) False >>>print(a in list2) True
not in:如果在指定的序列中没有找到值返回True,否则返回False
1
2
3
4
5
6
7
8>>>a = 10 >>>list = [1, 2, 4, 5] >>>list2 =[20, 10, 15] >>>print(a not in list) True >>>print(a not in list2) False
七、身份运算符
is:is判断两个标识符是不是引用自一个对象
1
2
3
4
5>>> a = 1000 >>> b = a >>> print( a is b) True
is not:判断两个标识符是不是引用自不同的对象
1
2
3
4
5>>>a =1000 >>>b = 1000 >>>print(a is not b) False
注意:在[-5, 257)的整数取值范围内,python的内部具有缓存机制,因此在比较这个数值以内的数据可能就会有些问题。
最后
以上就是粗犷黑裤最近收集整理的关于运算符与表达式的全部内容,更多相关运算符与表达式内容请搜索靠谱客的其他文章。
发表评论 取消回复