python流程控制理论

今日内容概要

  • 垃圾回收机制
  • 流程控制理论(重要)
  • 流程控制之分支结构(重要)
  • 流程控制之循环结构(重要)

今日内容详细

垃圾回收机制

"""
有一些语言 内存空间的申请和释放都需要程序员自己写代码才可以完成 
但是python不需要 通过垃圾回收机制自动管理
"""
1.引用计数
    name = 'guts' 数据值guts身上的引用计数为1
    name1 = name  数据值guts身上引用的计数加一 为2
    del name1     数据值guts身上的引用计数减一 为1
    当数据值身上的引用计数为0的时候 就会被垃圾回收机制当作垃圾回收掉
    当数据值身上的引用计数不为0的时候 永远不会被垃圾回收机制回收
    
2.标记清除
    主要针对循环引用问题
        l1 = [11, 22]  # 引用计数为1
        l2 = [33, 44]  # 引用计数为1
        l1.append(l2)  # l1 = [11, 22, l2列表]  引用计数为2
        l2.append(l1)  # l2 = [33, 44, l1列表]  引用计数为2
        del l1 # 断开变量名l1与列表的绑定关系  引用计数为1
        del l2 # 断开变量名l2与列表的绑定关系  引用计数为1
    当内存占用达到临界值的时候 程序会自动停止 然后扫描程序中所有的数据
    并给只产生循环引用的数据打上标记 之后一次性清除

3.分代回收
    垃圾回收机制的频繁运行也会损耗各项资源
    新生代、青春带、老年代(越往下渐层频率越低)

image

流程控制理论

  流程控制>>>:控制事物的执行流程
        事物执行流程总共可以分为三种
            1.顺序结构
                从上往下依次执行 我们之前所编写的代码都属于该结构
            2.分支结构
                事物的实行会根据条件的不同做出不同的执行策略
            3.循环结构
                事物的执行会根据某个条件出现重复
        ps:在代码的世界里 很多时候可能会出现三者混合    

image

流程控制必备知识

1.python中使用代码的缩进来表示代码的从属关系
    从属关系:缩进的代码(子代码)是否执行取决于上面有没有缩进
2.并不是所有的代码都可以拥有缩进的代码(子代码)
     if关键字
3.如果有多行子代码属于同一个父代码 那么这些子代码需要保证相同的缩进量
4.python中针对缩进量没有具体的要求 但是推荐使用四个空格(Windows中的tab)
5.当某一行代码需要编写子代码的时候 那么这一行代码的结尾肯定需要冒号
6.相同的缩进量的代码彼此之间平起平坐 按照顺序结构依次执行

分支结构

1.单if分支结构
     if条件:
          条件成立之后才会执行的代码块
    ps:单if可以借助于流程控制图理解
    username = input('username>>>:')
    if username == 'guts':
        print('老师好')
2.if...else...分支结构
     if 条件:
         条件成立之后执行的子代码
     else:
         条件不成立执行的子代码
     username = input('username>>>:')
    if username == 'jason':
          print('老师好')
    else:
          print('去你妹的')
3.if...elif...else分支结构
     if 条件1:
        条件1成立之后执行的子代码
     elif 条件2:
        条件1不成立 条件2成立执行的子代码
     elif 条件3:
        条件1和2都不成立 条件3成立执行的子代码
     else:
        上述条件都不成立 执行的子代码
    ps:中间的elif可以写多个、上述的子代码永远只会走一个
    score = input('请输入学生成绩>>>:')
    score = int(score)  #将字符串的证书转换成整型的整数
    if score >= 90:
        print('A')
    elif score >= 80:
        print('B')
    elif socre >= 70:
        print('C')
    elif socre >= 60:
        print('D')
    else:
        print('挂科 交钱重修')


4.if的嵌套使用(有点难)
     age = 22
    height = 170
    weight = 110
    is_beautiful = True
    is_success = False
    username = 'tony'
    if username == 'tony':
        print('tony发现目标')
        if age < 25 and height > 165 and weight < 120 and is_beautiful:
            print('宝宝恰个V')
            if is_success:
                print('吃饭 看电影 一起吃早饭')
            else:
                print('不要呀!')
        else:
           print('不好意思 打扰了')
   else:
    print('不是tony干不出来这种事')

image
image
image
image
image
image

循环结构

就是想让一些代码反复的执行
while 条件:
    条件成立之后执行的子代码(循环体代码)
1.先判断条件是否成立
2.如果成立则执行循环体代码
3.循环体代码执行完毕后再次回到条件判断处 判断条件是否成立
4.如果成立 则继续实行循环体代码
5.按照上述规律依次执行 知道条件不成立才会结束循环体代码的执行
count = 1
while count < 5:
    print('hello world')
    count += 1
print('想不想干饭')

break  # 强行结束循环体
    while循环体代码一旦执行得到break会结束循环
continue  # 直接跳到条件判断出
    while循环题代码一旦实行到continue会结束本次循环 开始下一次循环
	
	
while 条件:
    循环体代码
else:
    循环体代码没有被强制结束的情况下 执行完毕就会执行else子代码

image
image

作业

image
image
image
image

posted @ 2022-09-27 21:50  理塘丁真1!5!  阅读(24)  评论(0编辑  收藏  举报