#Python算术运算符主要分为比较、赋值、算术、位运算、成员、身份、逻辑 #算术运算符式例 """ + 加 - 两个对象相加 - 减 两个对象相减 * 乘 - 两个数相乘 / 除 - 两个数相除 % 取模 - 返回除法的余数 ** 幂 - 返回x的y次幂 // 取整除 - 返回商的整数部分 """ a ,b ,c=10,20,0 c = b + a print("b+a = ", c, " ;") c = a - b print("a-b=", c, " ;") c = b * a print("b*a=", c, " ;") c = b // a print("取得类似java中的整除的整数:b//a", c, " ;") c = b / a print("取到一个浮点类型的数:b/a=", c, " ;") c = b % a print("取得类似java中的取余操作:b%a", c) """ == 等于 - 比较对象是否相等 != 不等于 - 比较两个对象是否不相等 > 大于 - 返回x是否大于y < 小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。 >= 大于等于 - 返回x是否大于等于y。 <= 小于等于 - 返回x是否小于等于y。 """ if (a == b): print(" a 等于 b") else: print(" a 不等于 b") if (a != b): print(" a 不等于 b") else: print(" a 等于 b") if (a < b): print(" a 小于 b") elif(a==b): print("a 等于 b") else: print(" a 大于 b") if (a > b): print(" a 大于 b") elif(a==b): print(" a 等于 b") else: print("a 小于 b") """ 赋值运算符 = 简单的赋值运算符 += 加法赋值运算符 -= 减法赋值运算符 *= 乘法赋值运算符 /= 除法赋值运算符 %= 取模赋值运算符 **= 幂赋值运算符 //= 取整除赋值运算符 """ c = a + b print("a + b的值为:", c) c += a print("c + a的值为:", c) c *= a print("c * a的值为:", c) c /= a print("c / a的值为:", c) c **= 2 print("c ** 2的值为:", c) c %= a print("c % a的值为:", c) if(c==0): c = a+1 c //= a print("c // a的值为:", c) """ & 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 | 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。 ^ 按位异或运算符:当两对应的二进位相异时,结果为1 ~ 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1。~x 类似于 -x-1 。 << 左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。 >> 右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数 """ a = 60 # 60 = 0011 1100 b = 13 # 13 = 0000 1101 c = 0 c = a & b; # 12 = 0000 1100 print("a & b 的值为:", c) c = a | b; # 61 = 0011 1101 print("a | b 的值为:", c) c = a ^ b; # 49 = 0011 0001 print("a ^ b 的值为:", c) c = ~a; # -61 = 1100 0011 print(" ~a 的值为:", c) c = a << 2; # 240 = 1111 0000 print("a << 2 的值为:", c) c = a >> 2; # 15 = 0000 1111 print(" a >> 2 的值为:", c) """ 逻辑运算符 and x and y 布尔"与" - 如果 x 或 y 为 False,x and y 返回 False or x or y 布尔"或" - 如果 x 或 y 是 True,它返回 x 的值,否则它返回 y 的计算值。 (a or b) 返回 10。 not not x表达式 布尔"非" - 如果 x表达式 为 True,返回 False 。如果 x表达式 为 False,它返回 True """ # 修改变量 a 的值 a = True b = False if (a and b): print("变量 a 和 b 都为 true") else: print("变量 a 和 b 有一个不为 true") if (a or b): print("变量 a 和 b 都为 true,或其中一个变量为 true") else: print("变量 a 和 b 都不为 true") if not (a and b): print("变量 a 和 b 都为 false,或其中一个变量为 false") else: print("变量 a 和 b 都为 true") if not (a or b): print("变量 a 和 b 都不为 true") else: print("变量 a 和 b 都为 true,或其中一个变量为 true") """ 成员运算符 in 如果在指定的序列中找到值返回 True,否则返回 False。 x 在 y 序列中 , 如果 x 在 y 序列中返回 True。 not in 如果在指定的序列中没有找到值返回 True,否则返回 False。 """ a = 10 b = 20 list = [1, 2, 3, 4, 5]; if (a in list): print("1 - 变量 a 在给定的列表中 list 中") else: print("1 - 变量 a 不在给定的列表中 list 中") if (b not in list): print("2 - 变量 b 不在给定的列表中 list 中") else: print("2 - 变量 b 在给定的列表中 list 中") """ 身份运算符 is 是判断两个标识符是不是引用自一个对象 x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False is not 是判断两个标识符是不是引用自不同对象 """ a = 20 b = 20 if (a is b): print("1 - a 和 b 有相同的标识") else: print("1 - a 和 b 没有相同的标识") if (id(a) == id(b)): print("2 - a 和 b 有相同的标识") else: print("2 - a 和 b 没有相同的标识") # 修改变量 b 的值 b = 30 if (a is b): print("3 - a 和 b 有相同的标识") else: print("3 - a 和 b 没有相同的标识") if (a is not b): print("4 - a 和 b 没有相同的标识") else: print("4 - a 和 b 有相同的标识") ''' 总结: 优先级: ** 指数 (最高优先级) ~ + - 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@) * / % // 乘,除,取模和取整除 + - 加法减法 >> << 右移,左移运算符 & 位 'AND' ^ | 位运算符 <= < > >= == !=比较运算符 = %= /= //= -= += *= **= 赋值运算符 is is not 身份运算符 in not in 成员运算符 not or and 逻辑运算符 '''
#运行结果:
b+a = 30 ;
a-b= -10 ;
b*a= 200 ;
取得类似java中的整除的整数:b//a 2 ;
取到一个浮点类型的数:b/a= 2.0 ;
取得类似java中的取余操作:b%a 0
a 不等于 b
a 不等于 b
a 小于 b
a 小于 b
a + b的值为: 30
c + a的值为: 40
c * a的值为: 400
c / a的值为: 40.0
c ** 2的值为: 1600.0
c % a的值为: 0.0
c // a的值为: 1
a & b 的值为: 12
a | b 的值为: 61
a ^ b 的值为: 49
~a 的值为: -61
a << 2 的值为: 240
a >> 2 的值为: 15
变量 a 和 b 有一个不为 true
变量 a 和 b 都为 true,或其中一个变量为 true
变量 a 和 b 都为 false,或其中一个变量为 false
变量 a 和 b 都为 true,或其中一个变量为 true
1 - 变量 a 不在给定的列表中 list 中
2 - 变量 b 不在给定的列表中 list 中
1 - a 和 b 有相同的标识
2 - a 和 b 有相同的标识
3 - a 和 b 没有相同的标识
4 - a 和 b 没有相同的标识
a-b= -10 ;
b*a= 200 ;
取得类似java中的整除的整数:b//a 2 ;
取到一个浮点类型的数:b/a= 2.0 ;
取得类似java中的取余操作:b%a 0
a 不等于 b
a 不等于 b
a 小于 b
a 小于 b
a + b的值为: 30
c + a的值为: 40
c * a的值为: 400
c / a的值为: 40.0
c ** 2的值为: 1600.0
c % a的值为: 0.0
c // a的值为: 1
a & b 的值为: 12
a | b 的值为: 61
a ^ b 的值为: 49
~a 的值为: -61
a << 2 的值为: 240
a >> 2 的值为: 15
变量 a 和 b 有一个不为 true
变量 a 和 b 都为 true,或其中一个变量为 true
变量 a 和 b 都为 false,或其中一个变量为 false
变量 a 和 b 都为 true,或其中一个变量为 true
1 - 变量 a 不在给定的列表中 list 中
2 - 变量 b 不在给定的列表中 list 中
1 - a 和 b 有相同的标识
2 - a 和 b 有相同的标识
3 - a 和 b 没有相同的标识
4 - a 和 b 没有相同的标识