今日份内容概要
- 垃圾回收机制
- 控制流程理论
- 控制流程之分支结构
- 控制流程之循环结构
今日内容详情
任何的语言,使用内存空间的申请和释放都需要程序员自己写代码才能完成
但是Python却不需要,通过垃圾回收机制自动管理
1.引用计数你 (在Python中默认使用)
l1 = 1 数据值1身上的 引用计数为1
l2 = l1 l2的标签贴在了l1上,l1的引用计数就加一,变成2
del(删除)name1 del语言删除了l2在l1的标签,l1数据值的引用数据减一,变成了1
当数据身上的引用计数为0的时候,就会被垃圾回收机制当做垃圾回收掉。
当数据身上的引用计数不为0的时候,永远不会被垃圾回收机制回收
del语言在删除对象是不是删除内存地址,而是在该数据值身上的引用计数减一
2.标记清除
主要针对循环引用问题
L1 = [11,22] 引用计数为1
l2 = [33,44] 引用计数为1
11.append(12) l1 = [11, 22, l2列表] 引用计数为2
11.append(11) l2 = [33, 44, l1列表] 引用计数为2
del l1 断开变量名l1与列表的绑定关系 引用计数为1占用
del l2 断开变量名l2与列表的绑定关系 引用计数为1
当内存占用达到临界值的时候,程序会自动停止,然后扫描程序中所有的数据
并给只产生循环引用的数据标记上之后一次性清除、
3.分代回收
垃圾回收机制的频繁运行也会损耗各项资源
初级\Longrightarrow中级\Longrightarrow终极(越往下检测的频率越低)
流程控制理论
流程控制:控制事物的执行流程
执行事物的流程总共可以分为三种
1.顺序结构
` 从上往下的依次执行,(最开始我们所编写的代码都是属于这种结构)`
2.分支结构
`事物的执行会根据条件的变化而做出相应决策,不是固定的(随事物状态的变化而变化)`
3.循环结构
`事物的执行会根据某个条件而出现重复`
ps:在代码的世界里,很多时候可能会出现三者混合
温馨提示:做为小白,在学习控制流程的时候,建议做到代码和图形相结合
流程控制必备知识
1.Python中使用代码的缩进来表示代码的从属关系
从属关系:缩进的代码(子代码)是否执行取决于上面没有缩进的
2.并不是所有的代码都可以拥有缩进的代码(子代码)
if 关键字
3.如何有多行代码属于同一个父代码,那么这些子代码需要保证相同的缩进量
4.python中针对缩进量没有具体的的要求,但是推荐使用四个空格
5.当某一行代码需要编写子代码的时候,那么这一行代码的结尾肯定需要冒号
相同的缩进量的代码彼此之间是平起平坐的,按照顺序结构依次执行
分支结构
1.单if分支结构
if 条件:
条件成立之后才会执行的代码块
ps:单if可以借助于流程图理解
username = input('username>>>:')
if username == 'jason':
print('老师好')
2.if...else...分支结构
if 条件:
条件成立之后执行的子代码
else:
条件不成立执行的子代码
username = input('username>>>:')
if username == '小明':
print('出去')
else:
print('坐下吧')
3.if...elif...else分支结构
if 条件1:
条件成立后执行的子代码
elif条件2:
条件1不成立,条件2成立执行的子代码
else:
上述条件都不成立,执行的子代码
**ps:中间的elif可以写多个,上述子代码永远只会执行一个**
例子:会员系统
# 会员系统
money = int(input('输入你的金额>>>:'))
if money >500:
print('可以打五折')
elif money >400:
print('可以打六折')
elif money >300:
print('可以打八折')
elif money >200:
print('可以打九折')
else:
print('你不是会员不打折')
4.if的嵌套使用
age = 18
height = 170
weight = 50
is_beautiful = True
is_success = False
username = 'andy'
if username =='andy':
print('看到一个美女小姐姐')
if age < 18 and height< 170 and weight < 50 and is_beautiful :
print('小姐姐加个微信呀')
if is_success :
print('一起吃个饭')
else :
print('看错了')
else:
print('不好意思')
else:
print('只有Andy了')
循环结构
就是想要让依稀我代码反复的执行
while 条件:
条件成立之后执行的子代码(循环体代码)
1。先判断条件是否成立
2.如果成立则执行循环体代码
3.循环体代码执行完毕后再次回到条件的判断处,判断条件是否成立
4.如果成立,则继续执行循环体代码
5.按照上述规律依次执行,直到条件不成立才会结束循环体代码的执行
num = 1
while num < 10:
print ('hello world')
num += 1
break 强行结束循环体
while循环体代码一旦执行到break就会直接结束循环
continue直接跳1到条件判断处
while循环体代码一旦执行到continue会结束本次循环,开始下一次循环
while 条件:
循环体代码
else:
循环体代码没有被强制结束的情况下 执行完毕就会执行else子代码
标签:循环体,入门,Python,代码,基础,else,l1,print,执行
From: https://www.cnblogs.com/qiguanfusu/p/16735606.html