运算符
python支持的运算符:数学运算符、比较运算符、逻辑运算符、赋值运算符、位运算
1.数学运算符:+、-、*、/(除)、//(整除)、%、**、
注:/(除法运算)的运算结果是浮点型
2.比较运算符:>、<、>=、<=、==、!= (比较运算的结果:False&True)
注:python支持表示范围的连写方式
注意:所有比较运算符的运算结果都是布尔值 (True、False)
num = 10
print(0<num<20) # True
True == 1 # True
False == 0 # True
True == 2 # False
3.逻辑运算符:and、not、or
注意:从应用的角度来讲,所有的逻辑运算符的运算结果都是布尔
- and - 逻辑与运算
1)应用场景:相当于生活中的并且,用于需要多个条件同时满足的情况
2)运算规则:条件1 and 条件2 - 如果条件1和条件2都成立,结果就是True,
只要有一个是不成立的,结果就是False
True and True -> True
True and False -> False
False and True -> False
False and False ->False
- or - 逻辑或运算
1)应用场景:相当于生活中的或者,用于需要多个条件中有一个条件满足的场景
2)预算规则:条件1 or 条件2 - 如果条件1或者条件2有一个是True,结果就是True,
两个都是False,结果才是False
True or True -> True
True or False -> True
False or True -> True
False or False ->False
- not - 逻辑非运算
1)应用场景:对一个条件进行否定
2)运算规则:not条件 - 对指定条件进行否对
not True -> False
not False -> True
‘’’
age = 20
print(age > 18)
print(not age > 18)
print(age <= 18)
4.逻辑运算符拓展
- 逻辑运算符的短路操作
1)逻辑与运算的短路
条件1 and 条件2 - 如果条件1是Fable,那么条件2对应的代码不执行,结果直接是False
2)逻辑或运算的短路
条件1 or 条件2 - 如果条件1是True,那么条件2对应的代码不执行,结果直接是True
- 运算对象不是布尔值
1)逻辑与的通用运算规则
数据1 and 数据2 - 判断数据1的布尔值是否是True,如果是,整个结果就是数据2,否则整个结果是数据2
数据1 or 数据2 - 判断数据1的布尔值是否是False,如果是,整个结果就是数据2,否则整个结果是数据1
补充:数据的布尔值(任意数据怎么转换成布尔)(重要!!!)
python中所有的数据都有布尔值,所有的零值(比如0、0.0)
和空值(空字符串、空列表、空集合等)的布尔值是False,其他都是True
5.赋值运算符
赋值运算符:=、+=、-=、*=、/=、//=、%=、**=
注意:1)所有的赋值运算符最终目的是给变量赋值
2)赋值符号左边必须是变量,右边可以是任何有结果的表达式
3)复合赋值运算符的左边必须是已经赋值过的变量
2.运算符的优先级
1)数学运算符>比较运算符>逻辑运算符>赋值运算符(最低)
2)数学运算符:** > * / % // > + -
3)有括号的先算括号里面的(这的括号是小括号)
运算符说明 Python运算符 优先级 结合性 优先级顺序
小括号 ( ) 19 无 高
索引运算符 x[i] 或 x[i1: i2 [:i3]] 18 左
属性访问 x.attribute 17 左
乘方 ** 16 右
按位取反 ~ 15 右
符号运算符 +(正号)、-(负号) 14 右
乘除 *、/、//、% 13 左
加减 +、- 12 左
位移 >>、<< 11 左
按位与 & 10 右
按位异或 ^ 9 左
按位或 | 8 左
比较运算符 ==、!=、>、>=、<、<= 7 左
is 运算符 is、is not 6 左
in 运算符 in、not in 5 左
逻辑非 not 4 右
逻辑与 and 3 左
逻辑或 or 2 左
逗号运算符 exp1, exp2 1 左 低
6.分支结构
- 流程控制
1)循序执行 - 代码从上往下一条一条的按顺序执行(默认)
2)分支结构 - 根据条件选择执行或者不执行某些代码
3)循环结构 - 让一段代码重复执行(for循环、while循环)
- 分支结构
python中实现能够实现分支结构的只有if
1)if单分支结构 - if
‘’’
应用场景:如果满足某个条件就执行某段代码,条件不满足就不执行
语法:
if 条件语句:
代码段
说明:
-
if - 关键字:固定写法
2.条件语句 - 任何有结果的表达式(包括:具体的数据、已经赋值过的变量、运算表达式-赋值语句除外) -
: - 固定写法(注意:必须使用英文输入法下的冒号)
4.代码段 - 和if保持一个缩进的一条或者多条语句,需要在满足条件才会执行的代码
执行过程:
先判断if后面的条件语句是否为True(如果不是布尔就看结果的布尔值是否是True),
如果是True,就执行代码段,否则代码段不执行
2)if双分支结构:if-else
应用场景:满足条件执行某个操作,不满足的时候执行另外一个操作
语法:
if条件语句:
代码段1(满足条件需要执行的代码)
else:
代码段2(不满足条件的时候需要执行的代码)
执行过程:
判断条件语句是否为True,如果为True就执行代码段1,否则执行代码段2