1.运算符
1.1 WHAT
- 就是对程序代码进行运算,大于一个操作数的运算,如1+2.1、2是操作数,+ 是运算符。
1.2 运算符的分类
- 算术运算符
- 赋值运算符
- 比较运算符(关系运算符)
- 逻辑运算符
- 条件运算符(三元运算符)
- 1.2.1 算术运算符
- 加法运算符 表现形式 +
- 减法运算符 表现形式 -
** 两个字符串不能做减法 ** - 乘法运算符 表现形式 *
- 除法运算符 表现形式 /
- // 整除,只会保留计算后的整数位,总会返回一个整型
- % 取模,求两个数相除的余数
- ** 幂运算,求一个值的几次幂
- 赋值运算符
复制运算符的特殊写法 x = x + 3 其实是和 x += 3 是一样的
• += (x+= 3 相当于 x = x + 3 )
• -= (x -= 3 相当于 x= x - 3 )
• *= (x = 3 相当于 x = x 3 )
• **= (x **= 3 相当于 x = x ** 3 )
• /= (x /= 3 相当于 x = x/ 3 )
• //= (x //= 3 相当于 x = x // 3 )结果取整
• %= (x %= 3 相当于 x= x % 3 )
4. 比较运算符
• 比较运算符用来比较两个值之间的关系,总会返回一个布尔值.如果关系成立,返回True,否则返回False
• > 比较左侧值是否大于右侧值
• >= 比较左侧的值是否大于或等于右侧的值
• < 比较左侧值是否小于右侧值
• <= 比较左侧的值是否小于或等于右侧的值
• 特殊的比较方式
• == 比较两个对象的值是否相等
• != 比较两个对象的值是否不相等
• is 比较两个对象是否是同一个对象,比较的是对象的id,就是ASCII码值
• is not 比较两个对象是否不是同一个对象,比较的是对象的id,就是ASCII码值
5. 逻辑运算符
5.1 not 逻辑非
• not可以对符号右侧的值进行非运算,对于布尔值非运算会对其进行取反操作,True变False,False变True,特别注意一下
- 0、空串、none----->false, 逻辑非就是true
5.2 and 逻辑与
• and可以对符号两侧的值进行与运算。 只有在符号两侧的值都为True时,才会返回True,只要有一个False就返回False
• 与运算是找False的,如果第一个值为False,则不再看第二个值
5.3 or 逻辑或
• 或运算两个值中只要有一个True,就会返回True
• 或运算是找True的
- 有True就直接返回了,结果为True,没有True 就执行后面的任务。
5.4 非布尔值的与或运算
• 当我们对非布尔值进行与或运算时,Python会将其当做布尔值运算,最终会返回原值
• 非布尔值与运算的规则:
• 与运算是找False的,如果第一个值是False,则不看第二个值。如果第一个值是False,则直接返回第一个值,否则返回第二个值
• 或运算是找True的,如果第一个值是True,则不看第二个值。如果第一个值是True,则直接返回第一个值,否则返回第二个值
6. 条件运算符(三元运算符)
- 条件运算符在执行时,会先对条件表达式进行求值判断
- 如果判断结果为True,则执行语句1,并返回执行结果
- 如果判断结果为False,则执行语句2,并返回执行结果
- 语法: 语句1 if 条件表达式 else 语句2
7. 运算符的优先级
运算符优先级参照表
- and 大于or