笔记

笔记

上节课复习

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
posted @ 2020-02-25 18:58  给你加马桶唱疏通  阅读(147)  评论(0)    收藏  举报