4.1 算术运算符
a = 1
print('a =',a)
print('-a =',-a) #-a是对的取反运算
print('1 + 1 =',1 + 1)
print('2 - 1 =',2 - 1)
print('2 * 3 =',2 * 3)
print('3 / 2 =',3 / 2)
print('3 % 2 =',3 % 2)
print('3 // 2 =',3 // 2)
print('-3 // 2 =',-3 // 2)
print('10 ** 2 =',10 ** 2)
print('10.2 + 10 =',10.2 + 10)
print('10 + True + 1 =',10 + True + 1) #True被当作1参与运算,在操作数中有浮点数字,表达式的运算结果也是浮点数类型
4.2 比较运算符
a = 1
b = 2
print('a > b:',a > b)
print('a < b:',a < b)
print('1.0 == 1:',1.0 == 1) #浮点数与整数都可以进行比较
print('1.0 != 1:',1.0 != 1)
a = 'Hello' b = 'Hello' print(a == b) #比较字符串是否相等 a = 'World' print(a > b) #比较字符串的大小,即逐一比较字符Unicode编码的大小,如果两个字符串的第1个字符不能比较出大小,则比较两个字符串的第2个字符,直到比较有了结果才结束比较 a = [] b = [2,1] print(a > b) a = ['2'] #print(a > b) 在两个列表中元素类型不兼容
4.3 逻辑运算符
a = 1
b = 0
def f1(): #定义函数
print("--进入函数f1--")
return True
#逻辑运算符采用了"短路"设计,在逻辑计算过程中只要结果确定,就不再计算后面的表达式
print('(a > b) or f1():',(a > b) or f1()) #表达式(a > b)为True,结果确定为True,f1()函数不会被调用
print('(a < b) or f1()',(a < b) or f1()) #表达式(a < b)为False,结果不确定,f1()函数会被调用
print('(a > b) and f1()',(a > b) and f1()) #表达式(a > b)为True,结果确定为False,f1()函数不会被调用
print('(a < b) and f1()',(a < b) and f1()) #表达式(a > b)为False,结果不确定,f1()函数会被调用
4.4 位运算符
a = 0b10110010 #十进制数178
b = 0b01011110 #十进制数94
print('a | b:',a | b)
print('a & b:',a & b)
print('~ a:',~ a)
print('a >> 2:',a >> 2)
print('a << 2:',a << 2)
c = -20
print('c:',c)
print('~c:',~c)
4.5 赋值运算符
a = 1
b = 2
a += b # a = a + b
print('a += b',a)
a += b + 3 # a = a + b + 3
print('a += b + 3',a)
a -= b #a = a - b
print('a -= b',a)
a *= b #a = a * b
print('a *= b',a)
a /= b #a = a / b
print('a /= b',a)
a %= b # a = a % b
print('a %= b',a)
a = 0b10110010
b = 0b01011110
print('a',a)
print('b',b)
a |= b # a = a | b
print('a |= b',a) #a为二进制数254,二进制数为0b1111110
a ^= b #a = a ^ b 此时a为二进制数0b1111110
print('a ^= b',a) #a为十进制数160,二进制数为0b10100000
4.6 运算符的优先级
print(1 - 2 * 2) #*优先级高于-,先计算表达式2 * 2,其结果为4,然后计算表达式1-4
a = 0b10110010
b = 0b01011110
c = 0b11
print('a | b & c:',a | b & c) #&优先级高于|,先计算表达式b&c,其结果为2,然后计算a|2,最后的结果为178
print('b & c:',b & c)
print('a | 2:',a | 2)
print('a | b:',a | b)
print('254 & c:',254 & c)



