什么是表达式?
由变量、常量和运算符组成的式子。
算术运算符和算术运算表达式
算术运算符: 
 +(加) -(减)* (乘) /(除) %(取模) **(求幂) //(取整) 
 算术运算表达式:1+1 a/3 4%5,等等。功能是进行相关符号的数***算, 
 值为相关的数***算结果。
num1 = 30
num2 = 50
print(num1 + num2)赋值运算符和赋值运算表达式
赋值运算符主要是 “=” 
 赋值运算表达式格式:变量 = 表达式 
 功能:计算了等号右侧“表达式”的值,并赋值给等号左侧的变量 
 值:赋值结束后变量的值
num1 = 80
num2 = num1 + 30复合运算符
复合运算符主要有: 
 += : 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
位运算符
按位运算符是把数字看做二进制数来进行计算
“&” 按位与运算符,相应的位数都为1,则该位的结果为1,否则为0
# 4的二进制数为100,5的二进制数为101。
print(4 & 5)输出的结果为:4
“|” 按位或运算符,两个二进制位有一个位为1,结果为1,否则为0
# 4的二进制数为100,5的二进制数为101
print( 4 | 5)输出的结果为:5
“^” 按位异或运算符,二进制的两位相异时,结果为1
# 4的二进制数为100,5的二进制数为101
print( 4 ^ 5)输出结果为:1
“~” 按位取反运算符,每个二进制数据按位取反,1变0,0变1
# 6的二进制数为110
print(~6)输出结果为:-7
“<<” 左移动运算符,各二进制位全部左移动若干位,由<<右侧的数字决定,高位丢弃,低位补0
# 2的二进制数为00000010,左移四位为00100000
print(2 << 4)输出结果为:32
“>> ” 右移动运算符,各二进制位全部右移动若干位,由>>右侧的数字决定
# 3的二进制数为00000011,右移两位为00000001
print(3 >> 1)输出结果为:1
关系运算符和关系表达式
“==”、”!=”、”>”、”<”、”>=”、”<=” 
 关系运算表达式: 1 +2 > 3 +4 
 格式:表达式1 关系运算符 表达式2 
 功能:计算“表达式1” 和 “表达式2”的值 
 值:如果关系成立,整个关系运算表达式的值为真,否则为假
逻辑运算符
“逻辑与” and,两个表达式中,只要一个为假,则最终的结果为假 
 “逻辑与”运算符表达式:表达式1 and 表达式2 
 值:如果表达式1的值为真,表达式2的值也为真,则整体“逻辑与”运算表达式的值为真; 
 如果表达式1的值为真,表达式2的值也为假,则整体“逻辑与”运算表达式的值为假。
“逻辑或” or,两个表达式中,如果有一个为真,一个为假,则最终结果也为真。 
 “逻辑或”运算表达式:表达式1 or 表达式2 
 例如:如果表达式1的值为真,表达式2的值也为真,则整体“逻辑与”运算表达式的值为真。
“逻辑非” not ,真假相反 
 “逻辑非”运算表达式: not 表达式 
 值:如果表达式的值为真,整体逻辑非运算表达式的值为假; 
 如果表达式的值为假,整体逻辑非运算表达式的值为真。
举个简单的例子判断是否是闰年:
# 能被4整除但是不能被100整除 或者 能被400整除
year = int(input("请输入一个年份:"))
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
    print("是闰年")
else:
    print("不是闰年")输出结果为:
请输入一个年份:1998
不是闰年成员运算符
in:如果在指定的序列中找到值,则返回True,否则返回False 
 not in :如果在指定序列中没有找到值,则返回True,否则返回False。
身份运算符
is:判断两个标识符是不是引用同一个对象 
 is not:判断两个标识符是不是引用不同的对象
运算符优先级
(*) > (~ + -) > (  / % //) > (>> <<) > (&) > (^ |) 
 <= < > >= == != = %= += -= //= is is not in not in not or and 

 京公网安备 11010502036488号
京公网安备 11010502036488号