1 比较运算符
1.1 分类
符号 | 含义 | 示例 | 注意事项 |
---|---|---|---|
> | 大于 | 3>2➡True | |
< | 小于 | 1<5➡False | |
== | 等于 | 1==2➡false "湖南"=="湖南"➡True | 比较值是否相等 |
!= | 不等于 | 1!=2➡True "湖南"!="湖南"➡False | |
>= | 大于等于 | 5>=10➡False | |
<= | 小于等于 | 5<=15➡True |
1.2 实战练习
1.2.1 当b1= True,num=1 时,那么b1==num的结果是?
答: True
解析: 布尔值在进行比较运算时,会把布尔值转换成对应的数字,True会变成1,False会变成0
1.2.2 当str="",b1=False,那么str==b1的结果是?
答: False
解析: 只有在bool(空串)时得到的结果才是False,没使用时就是正常的比较
2 赋值运算符
2.1 分类
符号 | 含义 | 示例 | 注意事项 |
---|---|---|---|
= | 普通赋值运算符 | a=2 | 把数字2赋值给变量a |
+= | 加等于 | a+=2➡a=a+2 | |
-= | 减等于 | a-=2➡a=a-2 | |
*= | 乘等于 | a*=2➡a=a*2 | |
/= | 除等于 | a/2=2➡a=a/2 |
3 逻辑运算符
3.1 分类
符号 | 含义 | 示例 | 口诀 |
---|---|---|---|
and | 与 | 1>2 and 2<3 ➡False | 同真为真,有假为假 |
or | 或 | 1>4 or 5<8➡True | 同j假为假,有真为真 |
not | 非 | not 2➡False not 0➡True | 取反运算,0的相反数为True,空串的相反数为True |
3.2 实战练习
3.2.1 print(True and False or True and not False)的结果是?
答: True
解析: 优先级别从高到低: not>and>or
第一步: True and False or True and True
第二步: False or True
第三步: 打印True
3.2.2 print(1 + 1 > 1 + 2 and 3 + 2 < 3 - 1 or 5 and not True)的结果是?
答: False
解析: 优先级别从高到低**:算术>比较>逻辑**
第一步: 2>3 and 5<2 or 5 and not True
第二步: False and False or 5 and not True
第三步: False and False or 5 and False (提示:5是非0整数)
第四步: False or False
第五步: False
3.3 总结
3.2.1 逻辑运算符中需要熟记的几条结论
1 逻辑运算符的结果是布尔值,只存在True或False,对于变量1 and 变量2这种情况,只需要记住非0数字是True,数字0为False 和空串为False,非空串字符串为True这两条规律就行
3.3.2 优先级别
对于不同运算符而言, 优先级别从高到低:算术>比较>逻辑
对于逻辑运算符而言,优先级别从高到低: not>and>or
4 成员运算符
4.1 分类
符号 | 含义 | 示例 | 注意事项 |
---|---|---|---|
in | 包含 | "hunan" in "hunan hubei"➡True | 仅字符串类型有效 |
not in | 不包含 | "beijing" not in "hunan hubei"➡True | 仅字符串类型有效 |
4.2 实战练习
4.2.1 person="张三",那么print(person in "张三 李四 王五 赵六")的结果是多少?
答: True
4.2.2 num1=123456,那么print(1 in num1)的结果是多少?
答: 报错,提示 argument of type 'int' is not iterable(int类型的参数不可迭代)
4.2.3 b1=True,那么print(True in b1)的结果是多少?
答:报错,提示argument of type 'bool' is not iterable(bool类型的参数不可以迭代)