首页 > 编程语言 >python垃圾回收机制与流程控制

python垃圾回收机制与流程控制

时间:2022-09-27 21:36:58浏览次数:41  
标签:username python 代码 回收 else 垃圾 l1 print age

垃圾回收机制

有一些语言,内存空间的申请和清除都需要程序员自己写代码才可以完成,但是在python中却不需要,通过垃圾回收机制自动管理
1.引用计数
    name= 'lizhi'   表示数据值lizhi的引用计数为1
    name1 = 'lizhi'  表示数据值lizhi的引用计数加1 为2
    del name1       表示数据值lizhi的引用计数减1 为1
 当数据值身上的引用数为0的时候   就会被垃圾回收机制当做垃圾回收掉
 当数据身上的引用数不用0的时候   永远不会被垃圾回收机制回收

2.标记清除
  主要针对循环引用问题
   l1 = [66, 88]    #[66,88]引用计数为1
   l2 = [125, 226]   #[125.226]引用计数为1
   l1.append(l2)    #l1 = [66,88[125.226]]
   l2,append(l1)    #l2 = [125, 226[66,88]]
   del l1  # 断开变量名l1与列表的绑定关系
   del l2  # 断开变量名l2与列表的绑定关系

image

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

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

image

流程控制理论

流程控制>>>:控制事务的执行流程
     事务执行流程可以分为一下三种:
        1.顺序结构
           按照从上往下的顺序一次执行
        2.分支结构
           事务的执行会根据不同的条件做出不同的执行策略
        3.循环结构
           事务执行的时候会根据某个条件重复执行
      注意:在代码的世界中碰到到往往是这三个结构混合出现的

流程控制必备的知识

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

分支结构

1.单if分支条件:
  if条件:
    条件成立以后才会执行的代码快:
代码展示:
l1 = input('请输出你的名字>>>:')
if l1 =='lizhi':
    print('他可爱')

image

2.if...else...分支结构
   if 条件成立以后执行的子代码
   else 条件不成立以后执行的子代码
代码展示:
l1 = input('请输出你的名字>>>:')
if l1 =='lizhi':
    print('他可爱')
else:
    print('他不可爱')

image

3.if...elif....else...分支结构
    if:条件1:
       条件1成立以后执行的子代码
    elif:条件2
       条件1不成立,条件2成立执行的子代码
    elif:条件3
       条件1和2不成立,条件3成立执行的子代码
     else:
        以上条件不成立执行的子代码
代码展示:
l1 = input('请输入你的成绩>>>:')
l1 = int(l1)
if l1 >= 90:
    print('真不错')
elif l1 >= 80:
    print('还行吧')
elif l1 >= 60:
    print('要努力')
else:
    print('退学吧')

image

4.if的嵌套使用
age = 28
height = 170
weight = 100
is_beautifl = True
is_success = False
username = 'lizhi'
if username == 'lizhi':
    print('lizhi喜欢这个姑娘')
    if age < 30 and height > 165 and weight < 120 and is_beautifl:
        print('加一下你的微信吧')
        if is_success:
            print('你能喝冰的么')
        else:
            print('有机会以后再聊')
    else:
        print('我还有事先走了')
else:
    print('暗号不对,不可以')

image

循环结构

想让一些代码反复执行:
while 条件:
    条件成立之后立即执行的子代码(循环体代码)
1.先判断条件是否成立
2.如果成立立即执行循环
3.循环体代码执行完毕后再次回到条件判断处,判断条件是否成立
4.如果成立,则继续执行循环体代码
5.按照上述规律一次执行,直到条件不成立才会执行循环体代码
代码展示:
l1 = 1
while l1 < 5:
    print('hello word')  
    l1 += 1  # l1 = 1l+1
break  # 强制结束循环体
   while代码一旦执行到break会直接结束循环
代码展示:
   l1 = 1
while l1 < 5:
    print('hello word')
    break
continue  # 直接跳到条件判断处
   while代码一旦直接continue会直接结束本次循环,开始下一次循环
 代码展示:
l1 = 1
while l1 < 5:
    print('hello word')
    continue
while 条件:
   循环体代码
else:
    循环代码没有强制结束的情况下,执行完毕就会执行else子代码

作业:

1.
username = input('请输出你的用户名>>>:')
if username == ('jason'):
    print('超级管理员')
elif username == ('tom'):
    print('普通管理员')
elif username == ('jcka, rain'):
    print('业务主管')
else:
    print('其他用户')
2.username = input('请输入你的用户名')
if username == ('jason'):
    print('拒绝访问')
elif username == ('kevin'):
    print('拒绝访问')
elif username == ('tony'):
    print('拒绝访问')
else:
    print('允许登录')
2.username = input('请输入你的用户名')
black_user_list = ['jason', 'kevin', 'tony']
if username in black_user_list:
    print('拒绝登录')
else:
    print('允许登录')
3.
is_username = 'lizhi'
is_password = '456'
l1 = 1
while l1 < 4:
    username = input('请输出你的用户名>>>:')
    password = input('请输入你的用户密码>>>:')
    if username == 'lizhi':
        if password == ('456'):
            print('登录成功')
            break
    else:
        l1 += 1
4.
l1 = 10
while l1 < 20:
    age = input('请输入你猜测的年龄')
    age = int(age)
    if age > 18:
        print('猜大了')
    elif age < 18:
        print('猜小了')
    elif age == 18:
        print('猜对啦')
        break
4.
l1 = 0
while l1 < 4:
    age = input('请输入你猜测的年龄')
    age = int(age)
    if age > 18:
        print('猜大了')
        l1 += 1
    elif age < 18:
        print('猜小了')
        l1 += 1
    elif age == 18:
        print('猜对啦')
        break
    if l1 == 3:
        print('猜测机会已使用完毕')
        l2 = input('请输入y继续,n退出游戏')
        if l2 == 'y':
            print('继续游戏')
            l1 = 0
            continue
        if l2 =='n':
            print('Game over')
            break

标签:username,python,代码,回收,else,垃圾,l1,print,age
From: https://www.cnblogs.com/zhanghong1229/p/16736049.html

相关文章

  • Python cv2(Opencv) Canny边缘检测 和 傅里叶变换
    OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和MacOS操作系统上。它轻量级而且高效,由一系列C函数和少......
  • 垃圾回收机制与流程控制
    垃圾回收机制与流程控制目录垃圾回收机制与流程控制一、垃圾回收机制1.为什么要用垃圾回收机制2.垃圾回收机制的原理分析二、流程控制理论1.顺序结构2.分支结构3.循环结......
  • 流程控制-垃圾回收机制
    垃圾回收机制与流程控制垃圾回收机制引用计数数据值身上的引用计数name='123'#引用计数为1name1=name#引用计数+1delname1#引用计数-1'''数据值每多......
  • 垃圾回收机制与流程控制
    垃圾回收机制与流程控制1.垃圾回收机制引用计数数据值被引用的数量eg:name='timi'#数据值timi身上的引用计数为1name1=name#timi身上的引用计数为2当数据......
  • 垃圾回收机制
    垃圾回收机制"""有一些语言内存空间的申请和释放需要程序员写代码才能完成,但是python不需要,通过垃圾回收机制自动管理"""1.引用计数 name='max'#数据值'max'的引......
  • 垃圾回收、python中的流程控制
    垃圾回收机制1.概念垃圾回收机制(GC):是Python解释器自带一种机制,专门用来回收不可用的变量值所占用的内存空间2.原理Python的垃圾回收机制(GC)主要使用引用计数(referen......
  • Python之垃圾回收机制与流程控制
    python之垃圾回收机制与流程控制目录一、垃圾回收机制二、流程控制1.流程控制理论2.流程控制的必备python知识3.流程控制之分支结构(ifelse语句)(1)单if分支结构(2)if...el......
  • Python基础5
    今日内容概要垃圾回收机制流程控制理论流程控制必备知识分支结构循环结构作业今日内容详细垃圾回收机制  有一些语言内存空间的申请和释放都需......
  • 垃圾回收机制/控制流程/分支结构/循环结构
    今日内容详细垃圾回收机制流程控制理论/必备知识分支结构循环结构1.垃圾回收机制:#在一些编程语言中内存的申请以及它的释放都需要程序员自己编写代码才可以实现......
  • python之基本数据类型
    python之基本数据类型目录基本数据类型(知识点整合)1.整型int2.浮点型float3.字符串string4.列表list5.字典dictionary6.布尔值bool7.元组tuple8.集合set基本数据类型(知......