首页 > 其他分享 >流程控制-垃圾回收机制

流程控制-垃圾回收机制

时间:2022-09-27 21:13:11浏览次数:41  
标签:代码 回收 else 计数 垃圾 条件 print 流程 引用

垃圾回收机制与流程控制

垃圾回收机制

引用计数

数据值身上的引用计数
name = '123'  # 引用计数为1
name1 = name  # 引用计数+1
del name1    #引用计数-1
'''数据值每多绑定一个变量名那么计数+1 ,每del删除一个与相同数据值绑定的变量名 计数-1
当数据值的引用计数为0时,那么会被垃圾回收机制当做垃圾回收掉。'''

标记清除

主要针对循环引用问题
a1 = [6, 2]  # 引用计数为1
a2 = [7, 8]  # 引用计数为1
a1.append(a2)  # a1 = [6, 2, [7, 8]]引用计数为2
a2.append(a1)  # a2 = [7, 8, [6, 2]]引用计数为2
del a1  # 断开变量名a1 与列表的绑定关系后引用计数为1
del a2  # 断开变量名a2 与列表的绑定关系后引用计数为1

分带回收

根据数据值使用的次数来检测,检测数据使用次数越频繁那么监控频率越低

流程控制理论

  • 控制事物的执行流程

顺序结构

从上往下执行

image

分支结构

根据条件的不同做出不同的流程

image

循环结构

根据某个条件出现重复

image

流程控制之必备知识

python中使用代码的缩进来表示此代码是否是子代码。
不是所有的代码都可以用子代码
目前有的: if else
如果有多行子代码同属于一个父代码,那么子代码需要保证相同的缩进值(TAB 子代码快捷键)
"""注意事项
一行代码需要编写子代码的时候那么这一行代码结尾要用冒号:  否则无效  子代码的缩进量一定比父代码多 否则和父代码平起平坐按照顺序执行"""

分支结构

单if分支

"""
语法结构
  if 条件:
  条件成立之后执行的子代码(可以有多行)
	"""
# 回家就换拖鞋
a = input('你现在想去哪>>>:"')
if str == '回家':
  print(换拖鞋)

image

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

"""语法结构
   if 条件:
    条件成立后执行的子代码
   else:
    条件不成立后执行的子代码"""
a = input('你现在想去哪>>>:"')
if str == '回家':
	print('换拖鞋')
else:
	print('不去上网吗?')

image

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

"""语法结构
   if 条件1:
   条件1成立之后执行的子代码
   elif 条件2:
   条件1不成立,条件2成立之后执行的子代码
   else:
   条件都不成立的情况下执行的子代码
elif可以写多个,子代码达成条件永远只会走一个"""
a = input('你国庆想几号回家?>>> ')
if a == 1:
    print('那挺早啊')
elif a < 3:
    print('没买到一号票吗')
elif a > 3:
    print('那挺迟的')
else:
    print('不回家了啊,那挺可惜的')

image

if嵌套

在if条件中还可以通过缩进的方法在子代码中使用if等分支
# 如果女孩子的年龄大于30说 哇我就喜欢你这年龄的加微信 否则那挺年轻啊
# 如果成功了 则去吃饭 看电影 开车回家车坏了.  否则 那算了吧
is_success = True
age = int(input('美女你今年多大啦'))
if age > 30:
    print('哇我就喜欢你这年龄的,加微信')
    if is_success:
        print('吃饭 看电影 开车回家车坏了')
    else:
        print('那算了')
else:
    print('那挺年轻啊')

image
image

循环结构

while

让一些代码反复的执行
'''语法结构
while 条件:
    条件成立后执行的循环体代码
判断条件是否成立,如果成立的话执行循环体代码,.循环体代码执行完毕后 再次判断条件是否成立 如果成立则继续执行循环体代码 如果不成立则跳出循环'''
while True:
    print('你好')  # True成立则一直循环输出 你好
break  # 强制结束循环体
while True:
    print('你好')
    break #强制结束循环体
continue  #直接跳到条件判断处
a = 1
while a < 5:
    a += 1
    if a == 3:
        continue  # 达到3跳回到条件判断处
    else:
     print('你好')
    

image
image

作业:

1.根据用户输入内容打印其权限
    '''
    jason --> 超级管理员
    tom  --> 普通管理员
    jack,rain --> 业务主管
    其他 --> 普通用户
    '''

image

2.编写用户登录程序
 要求:有用户黑名单 如果用户名在黑名单内 则拒绝登录
    eg:black_user_list = ['jason','kevin','tony']
 如果用户名是黑名单以外的用户则允许登录(判断用户名和密码>>>:自定义)
    eg: oscar 123

image

3.编写用户登录程序
 用户如果登录失败 则只能尝试三次
 用户如果登录成功 则直接结束程序

image

4.猜年龄的游戏
 假设用户的真实年龄是18 编写一个猜年龄的游戏 获取用户猜测的年龄
 基本要求:可以无限制猜测 每次猜错给出提示(猜大了 猜小了) 猜对则结束程序
 拔高练习:每次猜测只有三次机会 一旦用完则提示用户是否继续尝试 用户通过输入n或者y来表示是否继续尝试 如果是y则继续给用户三次猜测机会 否则结束程序

image

标签:代码,回收,else,计数,垃圾,条件,print,流程,引用
From: https://www.cnblogs.com/LiaJi/p/16735742.html

相关文章

  • 垃圾回收机制与流程控制
    垃圾回收机制与流程控制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......
  • 垃圾回收机制/控制流程/分支结构/循环结构
    今日内容详细垃圾回收机制流程控制理论/必备知识分支结构循环结构1.垃圾回收机制:#在一些编程语言中内存的申请以及它的释放都需要程序员自己编写代码才可以实现......
  • 垃圾回收机制和流程控制三大重点
    今日分享垃圾回收机制流程控制理论(*****重点)流程控制之分支结构(*****重点)流程控制之循环结构(******重点)垃圾回收机制"""有一些语言内存空间的申请和释放......
  • 流程控制
    目录1.流程控制理论2.流程控制必备知识3.分支结构4.循环结构1.流程控制理论流程控制>>>:控制事物的执行流程事物执行流程总共可以分为三种1.顺序结构从上往下依次执行......
  • 垃圾回收机制 流程控制理论
    今日内容垃圾回收机制'''有一些语言内存空间申请和释放都需要程序员自己写代码才可以完成但在python里垃圾回收机制自动管理'''1.引用计数name='sun......
  • 进入python的世界_day5_python基础——流程控制
    写在开头,昨天是补全了八种常见数据类型的剩下三种、用户交互、常用运算符,今天主要学习流程控制很重要昨日作业补充另一种方法:原理:可以将表格整体看成是一个字符串......
  • 流程控制——练习
    今日作业:整理今日内容及博客1.根据用户输入内容打印其权限'''jason-->超级管理员tom-->普通管理员jack,rain-->业务主管其他-->普通用户'''#coding:utf......