首页 > 编程语言 >python垃圾回收机制、流程控制理论、流程控制理论必备知识、分支结构、循环结构

python垃圾回收机制、流程控制理论、流程控制理论必备知识、分支结构、循环结构

时间:2022-09-27 19:45:23浏览次数:46  
标签:10 python 流程 理论 计数 引用 条件 print 代码

目录

垃圾回收机制

一些语言存放空间和释放都需要程序员自己去写代码完成,但是python不需要,python可以通过使用垃圾回收机制自动管理。

1引用计数

name = 'lei' 数据值lei引用计数为1
name1 = name 数据值lei引用计数+1  为2
del name1 数据值引用计数-1 为1

当数据身上计数值为0时就会被垃圾机制当作垃圾回收。

当数据值身上的引用计数不为0时永远不会被垃圾回收机制回收

2标记清除

为了解决循环引用的不足,python的底层不会单单只用引用计数器,引入了一个机制叫做标记清楚。主要针对循环引用问题。

height1 = [123, 321] # 引用计数为1
height2 = [111, 222] # 引用计数为1
height1.append(height2) #引用计数为2 height1 = [123, 321, 111, 222]
height2.append(height1)#引用计数为2 height1 = [ 111, 222 123, 321]
del height1 # 断开变量名height1与列表的关系
del height2 # 断开变量名height2与列表的关系

变为

当内存达到临界值时,程序会自动停止,然后扫面程序中所有的数据,并且给只产生循环引用的数据打上标志之后一次性清楚。

3分代回收

将第二个链表(可能存在循环引用的链表),维护成3个环状双向的链表:

0代: 0代中对象个数达到700个,扫描一次。

1代: 0代扫描10次,则1代扫描1次。

2代: 1代扫描10次,则2代扫描1次。

垃圾回收机制的频繁运行也会消耗各类资源,用0,1,2代分别对计数进行判断来处理数据价值。

流程控制理论

python流程控制大致可以分为三种:

  1. 顺序结构

  2. 分支结构

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

  3. 循环结构

    在编写代码时也会涉及到重复的执行某一段代码,这时就会用到循环控制语句。

    image-20220927155004731

流程控制必备知识

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

name = 123
if name == 123:
    print(name)

2并不是所有的代码都可以拥用缩进的子代码

print()
 print()
 #就不是缩进的子代码   

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

print()
print()

4python中针对缩进量没有具体的要求,但是推荐4个空格。

5在某一行代码需要编写子代码时,那么比这一行代码的结尾肯定要冒号。

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


i = 5
if i < 10:
    print(i)
    print(i+1)
    print(i+2)

分支结构

1.单if分支结构

if 条件
  条件成立后才会被执行
 i = 5
if i < 10:
    print(i)
    print(i+1)
    print(i+2)   
    

2.if...else...分支结构

if 条件:
     	条件成立之后执行的子代码
	else:
      	条件不成立执行的子代码

3if...elif...else分支结构

if 条件1:
	条件1执行的代码
 elif 条件2:
	条件1不成立条件2成立
 elif 条件3:
    条件1和条件2都不成立,条件3成立的子代码
 else:
    上述条件都不成立 执行的子代码
    

4if嵌套使用

proof = int(input("输入驾驶员每 100ml 血液酒精的含量:"))
if proof < 20:
    print("驾驶员不构成酒驾")
else:
    if proof < 80:
        print("驾驶员已构成酒驾")
    else:
        print("驾驶员已构成醉驾")

运行结果为:

输入驾驶员每 100ml 血液酒精的含量:10
驾驶员不构成酒驾

循环结构

反复执行的代码

关键字while主要表达形式如下:

while 条件表达式:
	语句

与 if 语句相似,while 循环的条件表达式也无须括号,且表达式末尾必须添加冒号。当条件表达式计算结果为 True 时,执行下一行缩进的语句;若条件表达式计算结果为 False,则跳过该条语句继续向下执行。例如:


n = 10
sum = 0
i = 1
while i <= n:
    sum = sum + i
    i += 1
print("1 到 %d 之和为:%d" %(n,sum))

运行结果如下图:

1先判断条件是否成立

2如果成立就生成循环体里面的代码

3循环体执行完毕后再次回到条件判断处,判断条件是否成立,如果成立则会执行循环体内的代码。

按照上述的规律,直到条件不成立结束循环体内的代码。

关键字

break # 强制退出

continue # 跳过条件判断处


# continue 和 break 用法
 
i = 1
while i < 10:   
    i += 1
    if i%2 > 0:     # 非双数时跳过输出
        continue
    print i         # 输出双数2、4、6、8、10
 
i = 1
while 1:            # 循环条件为1必定成立
    print i         # 输出1~10
    i += 1
    if i > 10:     # 当i大于10时跳出循环
        break

标签:10,python,流程,理论,计数,引用,条件,print,代码
From: https://www.cnblogs.com/bnmm/p/16735710.html

相关文章

  • 7、python入门篇 垃圾回收和流程控制
    目录今日内容总结一、垃圾回收机制1、引用计数2、标记清除3、分类代收二、流程控制1、理论2、必备知识3、分支结构4、循环结构今日内容总结一、垃圾回收机制垃圾回收机......
  • python之流程控制-分支结构、循环结构
    流程控制编写程序,是将自己的逻辑思想记录下来,使得计算机能够执行的过程。而流程控制,则是逻辑结构中十分重要的一环。在程序中,基础的流程结构分为顺序结构、分支结构、顺......
  • 垃圾回收机制和流程控制理论
    垃圾回收机制和流程控制理论今日内容概要垃圾回收机制流程控制理论(重要)流程控制之分支结构(重要)流程控制之循环结构(重要)今日内容详细垃圾回收机制"""有一些语言......
  • 关于python的opencv库的学习笔记,腐蚀与膨胀
    importcv2importnumpyasnp##img=cv2.imread('cat.jpeg')##cv2.imshow('cat',img)##cv2.waitKey()##cv2.destroyAllWindows()##对图像进行腐蚀操作#ken=np.ones......
  • python 读取excel
    #!/usr/bin/envpython#-*-coding:utf-8-*-importwarningswarnings.filterwarnings('ignore')importopenpyxlfromopenpyxl.cellimportMergedCellimporto......
  • 垃圾回收机制、流程控制、分支结构、循环结构
    垃圾回收机制"""有一些语言内存空间的申请和释放都需要程序员自己写代码才可以完成但是python却不需要通过垃圾回收机制自动管理"""1.引用计数name='jason' ......
  • 垃圾回收机制 流程控制
    垃圾回收在程序执行过程中,变量绑定和引用以积极各种内存操作,使用过后不在使用,如果不清理就会产生垃圾数据,占用大量内存,导致计算机不能正常运行,有一些语言内存空间的申请......
  • 理论与实践:如何写好一个方法
    简介: 个人认为一个好的方法主要表现在可读性、可维护性、可复用性上,本文通过设计原则和代码规范两章来讲解如何提高方法的可读性、可维护性、可复用性。这些设计原则和代......
  • 垃圾回收机制及流程控制
    1、昨日内容回顾布尔值(bool)常见的布尔值为False的数据值、布尔值的变量的命名方式。元组(tuple)不可变数据类型。集合(set)用来做成员运算、空集合。计算机......
  • 流程控制
    今日内容回顾垃圾回收机制流程控制理论流程控制之分支结构(重要)流程控制之循环结构(重要)今日内容回顾详情垃圾回收机制1.引用计数引用计数是计算机编程语言中的一......