第一模块 第6章 流程控制
day06:(全为重点)
1.可变不可变类型
2.什么是条件?为何要用条件?什么可以当作条件?
3.逻辑运算符
and or not
优先级:not > and > or
4.成员运算符
5.身份运算符
6. 流程控制之if判断
6.1 可变不可变类型
通过可变不可变类型对前面学习的数据类型进行分类。
可变类型:值改变,id不变,证明改的是原值。
列表、字典
不可变类型:值改变,id也变了,证明是产生了新的值,并没有改变原值,说明原值并没有被修改。
int、float、字符串、bool在python中被设计成了不可分割的整体,不能被改变。
6.2 条件
什么是条件?什么可以当作条件?为什么要用条件?
第一大类:显式布尔值
1.条件可以是比较运算符
a = 10
a > 1
条件判断后会得到一个布尔值
2.条件可以是True、False
第二大类:隐式布尔值(所有的值都可以当成条件去用)
所有数据类型,其中0、None、空(空字符串、空列表、空字典)为假,其余全为真
6.3 逻辑运算符与优先级
Egon老师知识链接:
https://zhuanlan.zhihu.com/p/108684774
# 一. not、and、or的基本使用
# not:就是把紧跟其后的那个条件结果取反,not与紧跟其后的那个条件是一个不可分割的整体 print(not 16 > 13) # 结果为False print(not 10) # 结果为False print(not 0) # 结果为True print(not None) # 结果为True
'''
and:逻辑与,and用来连接左右两个条件,两个条件同时为真,最终结果才为真
条件1 and 条件2
偷懒原则:碰到假,就为假
'''
print(True and 10 > 3 and 1 < 2) # 结果为True
print(True and 10 > 3 and 1 > 2) # 结果为False
'''
or:逻辑或,用来连接左右两个条件,两个条件中有一个为真,最终结果就为真,
两个条件都为假时,最终结果才为假,也遵循偷懒原则
'''
print(10 or 10 > 11)
print(0 or None)
'''
二. not、and、or的优先级
not > and > or
如果只是单独的一串and连接,或者只是单独的一串or连接,按照从左到右的顺序依次计算(偷懒原则)。
如果是混合出现not、and、or,则应使用优先级原则
示例:
3 > 4 and not 4 > 3 or 1==3 and 'x'=='x' or 3 > 3
解决方法:
1.首先将not与紧挨其后的条件用括号括起来
2.然后将and左右的条件用括号括起来
3.最后整个语句就只剩下or的运算了
(3 > 4 and (not 4 > 3)) or (1==3 and 'x'=='x') or 3 > 3
注意:如果语句中真的使用了(),则应将()中的内容视为一个整体
'''
6.4 成员运算与身份运算
Egon老师知识链接:
https://zhuanlan.zhihu.com/p/108684774
# 1.成员运算符(in/not in),适用于字符串、列表、字典、元祖、集合 # 用在字符串中,判断子字符串是否存在于一个大的字符串中 print('egon' in 'hello egon') # 结果为True print('e' in 'hello egon') # 结果为True # 用在列表中,判断元素是否存在于列表中 print(111 in [111, 222]) # 结果为True # 用在字典中,判断key是否存在于字典中 print(111 in {'a':111, 'b':222}) # 结果为False print('a' in {'a':111, 'b':222}) # 结果为True # not in print('egon' not in 'hello egon') # 结果为False,推荐使用这种方式 print(not 'egon' in 'hello egon') # 结果为False,逻辑同上,但语义不明确,不推荐使用这种方式 # 2.身份运算符 # is判断id是否相等 # == 判断值是否相等
6.5 if判断语法
Egon老师知识链接:
https://zhuanlan.zhihu.com/p/108685793
语法1:
if 条件:
代码1
代码2
代码3
语法2:
if 条件:
代码1
代码2
代码3
else:
代码1
代码2
代码3
语法3:
if 条件1:
代码1
代码2
elif 条件2:
代码1
代码2
elif 条件3:
代码1
代码2
else:
代码1
代码2
注意:只要有一个条件成立,则会执行该条件对应的代码块,然后结束判断。
语法4:
if 嵌套 if
注意的问题:
下图代码下方有波浪线,说明此代码在规范方面存在一定的问题:

将鼠标光标放到波浪线身上,出现以下提示,点击下图红框中的内容,便可对代码进行优化。

优化结果如下:

浙公网安备 33010602011771号