减法运算
*n 则复制n次

| 符号 | 含义 |
|---|---|
| = | 赋值 |
| += | a + = 5 ⇒ a = a + 5 a += 5 \Rightarrow a = a + 5 a+=5⇒a=a+5 |
| -= | |
| *= | |
| /= | |
| **= | |
| //= | |
| %= |
比较两个值的大小,返回
bool
Unicode 编码| 符号 | 含义 |
|---|---|
| > | |
| < | |
| <= | |
| >= | |
| == | |
| != | |
| is | 比较两个对象是否是同一个对象 |
| is not | 比较的是对象的 id |
result = 1 < 2 < 3 # 相当于 1 < 2 and 2 < 3
res = 10 < 20 > 15 # res = true
逻辑判断
a = True #True
b = not a #False

第一个值是
False,则返回第二个值
第一个值是
True,则返回第二个值
非bool进行与或运算,Python解释器会将其
bool()后,在进行运算,返回bool类型数值
result = 1 and 2 # 2
result = 1 and 0 # 0
result = 0 and None # 0
result = 1 or 2 # 1
result = 1 or 0 # 1
result = 0 or None #None
三目运算符
语句1 if 条件表达式 else 语句2

先对条件表达式进行求值判断
True ,执行语句1,返回执行结果False ,执行语句2,返回执行结果运算符的计算顺序
运算顺序不同,结果也会不同
1 + 2 * 3
7
(1+2)*3
9
| 运算符 | 含义 | 结合性 |
|---|---|---|
() | 小括号 | 无 |
x[i] 或 x[i1:i2] | 索引运算符 | 左 |
x.attribure | 属性访问 | 左 |
** | 乘方 | 右 |
~x;+x;-x | 位非;正号;负号 | 右 |
*;/;%;//; | 乘;除;取余;整除 | 左 |
+;- | 加;减 | 左 |
<<;>> | 左移;右移 | 左 |
& | 位与 | 右 |
^ | 位异或 | 左 |
| ` | ` | 位或 |
in;not in;is;is not;<;<=;>;>=;!=;== | 成员;身份;比较运算符 | 左 |
not | 非 | 右 |
and | 与 | 左 |
or | 或 | 左 |
| `=;+=;-=;*=;/=;%=;%=;**=;<<=;>>=;&=;^=; | =` | 赋值运算 |
决定同一优先级运算符的是从左到右还是从右到左
左结合性:从左到右开始计算
右结合性:从右到左开始计算
大部分运算符都是左结合性,只有下列运算符是右结合性
- 乘方、单目运算符(位非、正负号、逻辑非)、位与、赋值运算符、三目运算符

Python默认自上而下顺序执行语句
通过流程控制语句可以改变执行顺序
两大类:
Tab键 或 四个空格用于获取用户输入,返回输入值,以回车结束输入
input(str hint) 返回值是 字符串

if 条件表达式:
语句1
执行流程
True ,执行if之后的语句/代码块False ,不执行if 条件表达式:
代码块1
else:
代码块2
if 条件表达式1:
代码块1
elif 条件表达式2:
代码块2
else:
代码块3
while 条件表达式:
代码块1
else:
代码块2
while 表达式1:
while 表达式2:
# 打印乘法表
i = 1
while i <= 9:
j = 1
while j <= i:
print(f'{i}*{j}={i*j} ',end='')
j += 1
print()
i += 1

退出最近循环,包括else
i = 0
while i < 5:
if i == 3:
break
print(i)
i += 1
else:
print("循环结束")

求质数
i = 2
while i <= 10:
flag = True
j = 2
t = i ** 0.5
while j <= t:
if i%j == 0:
flag = False
break
j += 1
if flag:
print(i)
i += 1
退出当次循环
i = 0
while i < 5:
if i == 3:
i += 1
continue
print(i)
i += 1
else:
print("循环结束")

表示占位,不做任何事情
定义一个空语句块会报错,所以可以用 pass 填充,使得程序可以正常运行