笔记
笔记
上节课复习
1、赋值运算符
交叉赋值
x = 10
y = 20
x, y = y, x
链式赋值
a = b = c = 10
解压赋值
*:把没有对应上的值存成一个列表,赋值给*号后面的定义的变量_:表示废弃的变量,没有存在的意义
x,y,*_,z = [1, 2, 3, 4, 5, 6]
2、逻辑运算符
优先级
- not > and > or
- 运算方法:先计算not,再把and两边紧连的条件用括号括起来,最后只剩下or,顺序从左到右
短路运算(偷懒原则)
- 可以当作条件使用的有三种: 显示布尔类型,比较运算符,隐式布尔类型
- and和or不做条件使用时:只会返回当前位置计算的值(而充当条件使用,既先返回当前位置计算的值,再判断它的布尔值)
- 补充:作为条件1比True效率高, 1比True的ASCII。
- 补充:2种情况下的存取效率(用性别举例):0/1 > True/False > 'male'/'female'
# 显示布尔类型: True, False
while True:
print('显示布尔类型')
# 比较运算:==,!=,>=,<=,>,<
if 10 > 3:
print('比较运算')
# 隐式布尔类型(False): 0, None, 空(包含:空字典,空元组,空列表,空字符串,空集合等等)
if []:
print('所有的数据类型都有相对于的布尔值:空列表')
while 1: # True
print('所有的数据类型都有相对应的布尔值:整型')
3、while循环
基本语法
while 条件:
code1
code2
code3
...
死循环
- 死循环:永远不会结束的循环
- 注意:死循环本身并无害,纯计算的死循环才有害。不要写什么样的死循环,没有任何的停顿。print/input都是I/O操作,放入死循环并不是真正意义上有危害的死循环
- 纯计算的死循环(死的速度):continue > 1+1
while True:
# 1 + 1
continue
终止循环的2种方法
# 1、break:立刻终止本层循环
while True:
while True:
break
break
# 2、把条件改成假:不会立刻终止自己条件控制的本层循环,等到下一次循环开始执行条件时才结束。
tag = True
while tag:
while Tag:
tag = False
# 3、2种结束while循环的区别
# break
while True:
break
print('...') # 并不会执行,上面break会立马终止本层循环
# 修改条件为假
tag = True
while tag:
tag = False
print('...') # tag=False仅仅是一个条件,只有当本次循环结束,下一次进行条件判断的时候,循环才结束
while+continue
- 结束本次循环,直接进入下一次循环
- 注意:continue之后不要写同级别的代码,因为没有意义,将不会执行。
# 需求:打印0,1,2,4,5
count = 0
while count < 5:
if count == 3:
continue
count +=1 # 错误
print(count)
count += 1
while+else
- else执行的条件:1、循环正常结束 2、没有被break打断
while True:
...
else:
prin('else的子代码块,会在while循环结束后,并且没有被break终止的情况下,才会执行')
4、总结
- pycharm快捷键:shift+回车,自动换行跳入下一行。
- 可以当作条件使用的有三种:显示布尔类型,隐式布尔类型,比较运算
- and和or不做条件使用时:只会返回当前位置计算的值(而充当条件使用,既先返回当前位置计算的值,再判断它的布尔值)
- 作为条件:1比True的效率高,1比True的ASCII码简单
- 作为条件2种情况下的存取效率(用性别举例):0/1 > True/False > 'male'/'female'
- 死循环:永远不会结束的循环,死循环本身本无害,只有纯计算的死循环才有害。
- 也就是说不要写什么样的死循环呢?没有任何的间歇,没有任何的停顿。
- 补充:print/input都是I/O操作,放入死循环中并不是正真意义上有害的死循环
- 纯计算死循环(死的速度):continue > 1+1
- 终止循环2种方式的区别:break是立刻终止本层循环。修改条件为假,要等到本次循环结束,下一次循环开始进行条件判断的时候,才终止由它条件控制的本层循环。
- while+continue(强调):contniue之后不要写同级别的代码
今日内容
1、for循环
2、基本数据类型相关操作
- 数字类型:int/float
- 字符串:str
- 列表:list
- 元组:tuple
- 字典:dict
- 集合:set

浙公网安备 33010602011771号