'''
表达式:由变量、常量和运算符组成的式子
阅读表达式:
功能:
值:
'''
'''
算术运算符和算术运算表达式
算术运算符
+ - * / % ** //
加 减 乘 除 取模 求幂 取整
算术运算表达式
a = 10
1+1 2*3 a/3
功能:进行相关符号的数学运算,不会改变变量的值
值:相关的数学运算结果
'''
num1 = 5
num2 = 3
print(num1 + num2)
print(num1 - num2)
print(num1 * num2)
print(num1 / num2)
print(num1 % num2)
print(num1 ** num2)#5^3 pow(5, 3)
print(num1 // num2)
'''
赋值运算符和赋值运算表达式
赋值运算符 =
赋值运算表达式
格式:变量 = 表达式
功能:计算了等号右侧“表达式”的值,并赋值给等号左侧的变量
值:赋值结束后变量的
'''
num3 = 10
num4 = num3 + 20
'''
复合运算符
+= 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
'''
'''if语句
格式:
if 表达式:
语句
逻辑:当程序执行到if语句时,首先计算“表达式”的值,如果“表达式”的值位真,那么久执行if下的“语句”。如果“表达式”的值为假,则跳过整个if语句继续向下执行。
何为真假?
假:0 0.0 '' None False
真:除了假就是真
'''
num5 = 20
num6 = 20
if num5 == num6:
num5 = 100
if 1:
print("*******")
print("num5 =", num5)
'''
if-else语句
格式:
if 表达式:
语句1
else:
语句2
逻辑:当程序执行到if-else语句时,首先计算“表达式”的值,如果“表达式”的值为真,则执行“语句1”。执行完“语句1”跳出整个if-else语句。如果”“表达式”的值为假,则执行“语句2”。执行完“语句2”跳出整个if-else语句。
'''
'''
位运算符:按位运算符是把数字看做二进制数来进行计算
'''
# & 按位与运算符
#相应的位数都为1,则该位的结果是1,否则为0
print(5 & 7)
'''
101
111
---
101
'''
# \ 按位或运算符
# 两个二进制位有一个位1时,结果为1
print(5 | 7)
'''
101
111
---
111
'''
# ^ 按位异或运算符
#二进制的两位相异时,结果为1
print(5 ^ 7)
'''
101
111
---
010
'''
# ~ 按位取反运算符
# 每个二级制数据位取反,1变0,0变1
print(~5)
'''
11111111111111111111111111111111
10000000000000000000000000000001
'''
# << 左移动运算符
#各二进制位全部左移动若干位,由<
print(2 << 2)
#000000010
# >> 右移动运算符
#各二进制位全部右移动若干位,由>>右侧的数字决定
print(-13 >> 2)
#00000001101
#00000000011
'''
关系运算符和关系运算表达式
== != > < >= <=
关系运算表达式:
1 + 2 > 3 + 4
格式: 表达式1 关系运算符 表达式2
功能:计算“表达式1”和“表达式2”的值
值:如果关系成立,整个关系运算表达式的值为真,否则为假
'''
'''
逻辑运算符
'''
'''
逻辑与 and
逻辑与运算表达式:表达式1 and 表达式2
值:
如果表达式1的值为真,表达式2的值为真,整体逻辑与运算表达式的值为真
如果表达式1的值为真,表达式2的值为假,整体逻辑与运算表达式的值为假
如果表达式1的值为假,表达式2的值为真,整体逻辑与运算表达式的值为假
如果表达式1的值为假,表达式2的值为假,整体逻辑与运算表达式的值为假
【有一个为假就为假】
'''
num1 = 10
num2 = 20
# num1 = num1 +1
if num1 and num2:
print("**************")
print(num1, num2)
#短路原则
# 表达式1 and 表达式2 and 表达式3 and …… and 表达式n
'''
逻辑或 or
逻辑或运算表达式: 表达式1 or 表达式2
值:
表达式1的值为真,表达式2的值为真,逻辑或运算表达式为真
表达式1的值为真,表达式2的值为假,逻辑或运算表达式为真
表达式1的值为假,表达式2的值为真,逻辑或运算表达式为真
表达式1的值为假,表达式2的值为假,逻辑或运算表达式为假
【有一个为真就为真】
'''
num3 = 0
num4 = 1
if num3 or num4:
print("&&&&&&&&&&&&&&&")
# 表达式1 or 表达式2 or 表达式3 or …… or 表达式n
'''
逻辑非: not
逻辑非运算表达式: not 表达式
值:
如果表达式的值为真,整体逻辑非运算表达式的值为假
如果表达式的值为假,整体逻辑非运算表达式的值为真
【颠倒黑白】
'''
if not 0:
print("^^^^^^^^^^^^^^^^")
'''
成员运算符:
in:如果在指定的序列中找到值返回True,否则返回False
not in:如果在指定的序列中没有找到值返回True,否则返回False
'''
'''
身份运算符
is:判断两个标识符是不是引用同一个对象
is not:判断两个标识符是不是引用不同的对象
'''
'''
运算符优先级
**
~ + - 正负号(一元加减)
* / % //
+ -
>> <<
&
^ |
<= < > >=
== !=
= %= += -= //=
is is not
in not in
not or and
'''