运算符和表达式
- 由变量、常量和运算符组成的式子。
- 阅读表达式从功能和值两方面看。
算术运算符和算术运算表达式:
算术运算符:+(加)、-(减)、*(乘)、/(除)、%(取模)、**(求幂)、//(取整)
算术运算表达式:1+1、2*3、a/3、……
- 功能:进行相关符号的数学运算,不会改变变量的值。
- 值:相关的数学运算结果。
赋值运算符和赋值运算表达式:
- 赋值运算符 =
- 赋值运算表达式,格式:变量 = 表达式
- 功能:计算了等号右侧“表达式”的值,并赋值给等号左侧的变量。
- 值:赋值结束后变量的值。
复合运算符:
- +=、-=、*=、/=、%=、**=、//=
位运算符:
- 把数字看作二进制数来进行计算。
- &(按位与运算符):相应的位数都为1,则该位的结果是1,否则为0。
- |(按位或运算符):相应的位数有一个为1,结果即为1,否则为0。
- ^(按位异或运算符):相应的位数相异时,结果为1,否则为0。
- ~(按位取反运算符):每个二进制数据位取反。
- <<(左移动运算符):每个二级制数据位全部左移若干位,高位丢弃,低位补0。
- >>(右移动运算符):每个二级制数据位全部右移若干位,高位补0,低位丢弃。
关系运算符和关系运算表达式:
关系运算符:==、!=、>、<、>=、<=
关系运算表达式:
- 格式:表达式1 关系运算符 表达式2
- 功能:计算“表达式1”和“表达式2”的值。
- 值:如果关系成立,整个关系运算表达式的值为真,否则为假。
逻辑运算符和逻辑运算表达式:
逻辑与
- 运算符:and
- 表达式:表达式1 and 表达式2
- 值【有一个为假即为假】:
- 如果表达式1、2的值均为真,整体逻辑与运算表达式的值为真。
- 如果表达式1的值为真、2的值均为假,整体逻辑与运算表达式的值为假。
- 如果表达式1的值为假、2的值均为真,整体逻辑与运算表达式的值为假。
- 如果表达式1的值为假、2的值均为假,整体逻辑与运算表达式的值为假。
短路原则:
表达式1 and 表达式2 and 表达式3 and ...... and 表达式n
如果表达式1结果为假,即不计算机不在计算剩余表达式。
逻辑或
- 运算符:or
- 表达式:表达式1 or 表达式2
- 值【有一个为真即为真】
- 如果表达式1、2的值均为真,整体逻辑与运算表达式的值为真。
- 如果表达式1的值为真、2的值均为假,整体逻辑与运算表达式的值为真。
- 如果表达式1的值为假、2的值均为真,整体逻辑与运算表达式的值为真。
- 如果表达式1的值为假、2的值均为假,整体逻辑与运算表达式的值为假。
短路原则:
表达式1 and 表达式2 and 表达式3 and ...... and 表达式n
如果表达式1结果为真,即不计算机不在计算剩余表达式。
逻辑非
- 运算符:not
- 表达式:not 表达式
- 值【颠倒黑白】
- 如果表达式的值为真,整体逻辑非运算符表达式的值为假。
- 如果表达式的值为假,整体逻辑非运算符表达式的值为真。
成员运算符
- 运算符:in、not in
- 值:
- in:如果在指定的序列中找到值返回True,否则返回False。
- not in:如果在指定的序列中没有 找到值返回True,否则返回False。
身份运算符
- is:判断两个标识符是不是引用同一个对象。
- is not:判断两个标识符是不是引用不同的对象。
运算符优先级
- **(求幂)
- ~(按位取反) +(正号、一元加) -(负号、一元减)
- *(乘) /(除) %(取模) //(取整)
- +(加) -(减)
- >>(右移动) <<(左移动)
- &(按位与)
- ^(按位异或) |(按位或)
- <=(小于等于) <(小于) >(大于) >=(大于等于)
- ==(等于) !=(不等于)
- 赋值运算符
- 身份运算符
- 成员运算符
- 逻辑运算符
条件控制语句
if语句
- 格式:
if 表达式:
语句
逻辑:当程序执行到if语句,首先计算“表达式”的值,
- 如果“表达式”的值为真,那么就执行if下的“语句”。
- 如果“表达式”的值为假,则跳过整个if语句继续向下执行。
何为真假:
- 假:0、0.0、”、None、False
- 真:除了假的情况均为真
if-else语句
- 格式:
if 表达式:
语句1
else:
语句2
- 逻辑:当程序执行到if-else语句时,首先计算“表达式”的值,
- 如果“表达式”的值为真,则执行“语句1”。执行完“语句1”跳出整个if-else语句。
- 如果“表达式”的值为假,则执行“语句2”。执行完“语句2”跳出整个if-else语句。
if-elif-else语句
- 格式:
if 表达式1:
语句1
elif 表达式2:
语句2
...
elif 表达式n:
语句n
else:
语句m
逻辑:当程序执行到if-elif-if语句时,首先计算“表达式1”的值,
- 如果“表达式1”的值为真,则执行“语句1”,执行完“语句1”,则跳过整个if-elif-else语句。
- 如果“表达式1”的值为假,计算“表达式2”的值,如此下去直到某个表达式的值为真才停止,如果没有一个表达式为真,且有else,则执行“语句m”。
每个elif都是对它上面所有表达式的否定