'''
逻辑运算符
and a and b 布尔"与" - 如果 a 为 False,a and b 返回 False,否则它返回 b 的计算值。
or a or b 布尔"或" - 如果 a 是 True,它返回 b 的值,否则它返回 b 的计算值。
not not a 布尔"非" - 如果 a 为 True,返回 False 。如果 a 为 False,它返回 True。
'''
varA=True
varB=False
varC=True
varD=False
print(varA and varB) #False
print(varA and varC) #True
print(varB and varD) #False
#都为真 才为真
print(varA or varB) #True
print(varC or varA) #True
print(varD or varB) #False
#都为假 才为假
print(not varD) #True
print(not varA) #False
'''
成员运算符
in 如果在指定的序列中找到值返回 True,否则返回 False。 x 在 y 序列中 , 如果 x 在 y 序列中返回 True。
not in 如果在指定的序列中没有找到值返回 True,否则返回 False。
'''
x=3
y=20
list=[1,2,3,4,5,7,6];
if (x in list):
print("1 - 变量 x 在给定的列表中 list 中")
else:
print("1 - 变量 x 不在给定的列表中 list 中")
if (y not in list):
print("2 - 变量 y 不在给定的列表中 list 中")
else:
print("2 - 变量 y 在给定的列表中 list 中")
'''
身份运算符
is is 是判断两个标识符是不是引用自一个对象
is not is not 是判断两个标识符是不是引用自不同对象
id() 函数用于获取对象内存地址。
'''
x = 20
y = 20
if (x is y):
print("1 - x 和 y 有相同的标识")
else:
print("1 - x 和 y 没有相同的标识")
if (id(x) == id(y)):
print("2 - x 和 y 有相同的标识")
else:
print("2 - x 和 y 没有相同的标识")
y=10
if (x is y):
print("1 - x 和 y 有相同的标识")
else:
print("1 - x 和 y 没有相同的标识")
if (id(x) == id(y)):
print("2 - x 和 y 有相同的标识")
else:
print("2 - x 和 y 没有相同的标识")
# '=='用于判断两个变量的值是否相等
# ‘is’ 用于判断两个变量是不是同一个对象
'''
** 指数 (最高优先级)
~ + - 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
* / % // 乘,除,求余数和取整除
+ - 加法减法
>> << 右移,左移运算符
& 位 'AND'
^ | 位运算符
<= < > >= 比较运算符
== != 等于运算符
= %= /= //= -= += *= **= 赋值运算符
is is not 身份运算符
in not in 成员运算符
not and or 逻辑运算符
以上优先级从高到低
'''
a = 2
b = 7
c = 12
d = 11
e = 0
e = (a + b) * c / d # ( 30 * 15 ) / 5
print("(a + b) * c / d 运算结果为:", e)
e = ((a + b) * c) / d # (30 * 15 ) / 5
print("((a + b) * c) / d 运算结果为:", e)
e = (a + b) * (c / d); # (30) * (15/5)
print("(a + b) * (c / d) 运算结果为:", e)
e = a + (b * c) / d; # 20 + (150/5)
print("a + (b * c) / d 运算结果为:", e)