第一模块 第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

注意的问题:

下图代码下方有波浪线,说明此代码在规范方面存在一定的问题:

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

优化结果如下:

 

posted @ 2020-06-18 12:23  自由者妍  阅读(131)  评论(0)    收藏  举报