1、运算符
1.1、什么是运算符?
- 运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。例如:2+3,其操作数是2和3,而运算符则是“+”。
1.2、运算符的分类
2、算数运算符
- + 加 - 两个对象相加 a + b 输出结果 31;‘abc’ + ‘def’结果是‘abcdef’
- - 减 - 得到负数或是一个数减去另一个数 a - b 输出结果 -11
- *乘 - 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 210;‘abc’ * 3结果是‘abcabcabc’
- / 除 - x 除以 y b / a 输出结果 2.1
- % 取模 - 返回除法的余数 b % a 输出结果 1
- ** 幂 - 返回x的y次幂 a**b 为10的21次方
- // 取整除 - 向下取接近商的整数 5//2结果为2
3、比较运算符 -- 返回值是bool类型
== 等于 - 比较对象是否相等 ;如果相等,返回1
!= 不等于 - 比较两个对象是否不相等
>大于 - 比较前者是否大于后者
< 小于 - 比较前者是否小于后者
>= 大于等于 - 比较前者是否大于或等于后者
<= 小于等于 - 比较前者是否小于或等于后者
#字符串的比较运算
print('123' > '12')
print('2' < '123') #字符串的比较大小是对位比较,先比较第一位字符的ASCII码的值
print('abcEdf' > 'abcdef')
结果:
True
False
False
4、赋值运算符
- =
a = 2+3 # a = 5
- +=
a = 5
a += 3 #a = a + 3 = 8
- -=
a = 5
a -= 3 # a = a - 3 = 2
- *=
a = 5
a * = 3 # a = a * 5 = 15
- /=
a = 5
a /= 3 # a = a / 3 = 1.6666666666666667
- %=
a = 5
a %= 3 # a = a % 3 = 2
- //=
a = 5
a //= 3 # a = a // 3 = 1
- **=
a = 5
a **= 3 # a = a ** 3 = 125
5、逻辑运算符 -
返回符号前面或者后面表达式的结果:
5.1、and 逻辑与
- and对符号两侧的值进行与运算,当两侧的值都为True时,返回True,否则返回False
- 特别的是,如果左侧的值为False,不会判断右侧的值,直接返回False
5.2、or 逻辑或
- or 对符号两侧的值进行逻辑或运算,当两侧的值都为False时,返回False,否则返回True
- 特别的是,如果左侧的值为True,不会判断右侧的值,直接返回True
5.3、not 逻辑非
- not 是一个单目运算符,对符号右侧的值进行取反运算,如果是True,则返回False,如果是False,则返回True
5.4、非布尔值的与或运算
- 当对非布尔值的数据进行与或运算时,python会先将其当作布尔值进行运算,最后返回原值
- 非布尔值与运算规则
and运算,找False。如果第一个值为False,则直接返回第一个值,否则返回第二个值。
看几个实例:
2 and 3 # 3
0 and 2 # 0
False and 2 # False
- 非布尔值的或运算规则
or 运算,找True。如果第一个值为True,则直接返回第一个值,否则返回第二个值。
2 or 3 # 2
0 or 2 # 2
0 or None # None
- 注意
False、None、{}、[]、()、0
上面几个值的布尔值体现为False
负数值在布尔判断中为True
{} and 2 # {}
[] and 2 # []
6、条件运算符
- 语法:
语句1 if 表达式 else 语句2
print('语句1') if 3>2 else print('语句2') # 语句1
- 规则
条件运算符在执行时,会先对条件表达式进行求值判断
如果判断结果为True,则执行语句1,并返回执行结果
如果判断结果为False,则执行语句2,并返回执行结果