首页 > 其他分享 >垃圾回收机制、流程控制、分支结构、循环结构

垃圾回收机制、流程控制、分支结构、循环结构

时间:2022-09-27 18:46:25浏览次数:45  
标签:循环体 代码 回收 else 垃圾 条件 print 执行 结构

垃圾回收机制

"""

有一些语言 内存空间的申请和释放都需要程序员自己写代码才可以完成

但是python却不需要 通过垃圾回收机制自动管理

"""

1.引用计数

name = 'jason'          数据值jason身上的引用计数为1

name1 = name        数据值jason身上的引用计数加一 为2

del name1               数据值jason身上的引用计数减一 为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.分代回收 垃圾回收机制的频繁运行也会损耗各项资源

新生代、青春代、老年代(越往下检测频率越低)

 

流程控制理论

流程控制>>>:控制事物的执行流程

事物执行流程总共可以分为三种

 

1.顺序结构

从上往下依次执行 我们之前所编写的代码都属于该结构

 

2.分支结构

事物的执行会根据条件的不同做出不同的执行策略

 

3.循环结构

事物的执行会根据某个条件出现重复

 

ps:在代码的世界里 很多时候可能会出现三者混合

提示:作为小白 在学习流程控制的时候 建议做到代码和图形的结合

 

 

流程控制必备知识

1.python中使用代码的缩进来表示代码的从属关系

从属关系:缩进的代码(子代码)是否执行取决于上面没有缩进的

 

2.并不是所有的代码都可以拥有缩进的代码(子代码) if关键字

 

3.如果有多行子代码属于同一个父代码 那么这些子代码需要保证相同的缩进量

 

4.python中针对缩进量没有具体的要求 但是推荐使用四个空格(windows中tab键)

 

5.当某一行代码需要编写子代码的时候 那么这一行代码的结尾肯定需要冒号

 

6.相同缩进量的代码彼此之间平起平坐 按照顺序结构依次执行

 

 

分支结构

1.单if分支结构

if 条件:

条件成立之后才会执行的代码快

ps:单if可以借助于流程图理解

username = input('username>>>:')

if username == 'jason': 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('优秀')

elif score >= 80:

print('良好')

elif score >= 70:

print('一般')

elif score >= 60:

print('及格')

else:

print('挂科 交钱重修')

 

 

4.if的嵌套使用(有点难)

age = 28

height = 170

weight = 110

is_beautiful = True

is_success = False username = 'tony'

if username == 'tony':

print('tony发现目标')

if age < 30 and height > 160 and weight < 150 and is_beautiful:

print('大妹纸 手机掏出来 让我加微信')

if is_success: print('吃饭 看电影 天黑了...')

else:

print('去你妹的 流氓!!!')

else:

print('不好意思 认错人了')

else:

print('不是tony做不出来这件事')

 

循环结构

就是想让一些代码反复的执行

while 条件:

条件成立之后执行的子代码(循环体代码)

1.先判断条件是否成立

2.如果成立则执行循环体代码

3.循环体代码执行完毕后再次回到条件判断处 判断条件是否成立

4.如果成立 则继续执行循环体代码

5.按照上述规律依次执行 直到条件不成立才会结束循环体代码的执行

count = 1

while count < 5:

print('hello world')

count += 1 # count = count + 1 

print('想不想干饭?')

break      # 强行结束循环体

while循环体代码一旦执行到break会直接结束循环

continue                  # 直接跳到条件判断处

while循环体代码一旦执行到continue会结束本次循环       开始下一次循环

 

while 条件:

循环体代码

else:

循环体代码没有被强制结束的情况下 执行完毕就会执行else子代码

标签:循环体,代码,回收,else,垃圾,条件,print,执行,结构
From: https://www.cnblogs.com/8564129qwe/p/16735550.html

相关文章

  • 垃圾回收机制 流程控制
    垃圾回收在程序执行过程中,变量绑定和引用以积极各种内存操作,使用过后不在使用,如果不清理就会产生垃圾数据,占用大量内存,导致计算机不能正常运行,有一些语言内存空间的申请......
  • 垃圾回收机制及流程控制
    1、昨日内容回顾布尔值(bool)常见的布尔值为False的数据值、布尔值的变量的命名方式。元组(tuple)不可变数据类型。集合(set)用来做成员运算、空集合。计算机......
  • 对结构性伪类的顶级理解
      (E:nth-child(2n)和E:nth-last-child(2n))与(E:nth-of-type(2n)和E:nth-last-of-type(2n))都是选择任意父元素下的E类型子元素。区别n值的分配方式,左边的是不分......
  • 内存回收、流程控制和循环
    垃圾回收机制"""有一些语言内存空间的申请和释放都需要程序员自己写代码才可以完成但是python却不需要通过垃圾回收机制自动管理"""1.引用计数name='jason'......
  • 垃圾回收机制GC
    垃圾回收机制GC我们已经知道,name='leethon'这一赋值变量的操作,是将变量与数据值相绑定。而数据值是存储到内存中的,有时变量会重新赋值即绑定其他数据值,而使得原本的数......
  • 通过策略模式实现树状结构的自动生成
    1.树处理器publicabstractclassAbstractTreeHandlerimplementsInitializingBean{@ResourceprivateTreeHandlerContexttreeContext;@Override......
  • 晶体、分子结构软件:CrystalMaker for Mac
    晶体结构软件CrystalMakerformac创建、显示和操作各种晶体和分子结构,CrystalMakerMac版便捷、灵活,能够容易的载入结构数据并产生壮观的,相片型的图形,戴上红/蓝眼镜,还可......
  • 【链表】关于链表结构
    关于链表结构每次看链表结构相关代码就有点晕,还看不明白,得想半天。看下面这篇分析的时候又感觉有点费劲了。面试官:HashMap为什么线程不安全?这个问题以前了解过,时间一......
  • C# 手动回收
    1、正常C#是继承GC,是无需手动回收释放,但是有时候确实遇到相关异常报错,手动释放是可以的finally{if(conn!=null&&conn.State!=Con......
  • 482登录退出和483目录结构
    Mysql登录的三种方式第一mysql-uroot-proot 不要认为关闭窗口就能推出登录  exit推出 第二种加密方式  退出方式统一第三种 安装事鼠标所在位置勾......