python入门基础05

今日份内容概要

  • 垃圾回收机制
  • 控制流程理论
  • 控制流程之分支结构
  • 控制流程之循环结构

今日内容详情

任何的语言,使用内存空间的申请和释放都需要程序员自己写代码才能完成
但是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.分代回收

垃圾回收机制的频繁运行也会损耗各项资源
分代回收解决了标记清楚时什么时候扫描的问题,并且将扫描的对象分成了3级,以及降低扫描的工作量,提高效率。
0代\Longrightarrow1代\Longrightarrow2代(越往下检测的频率越低)

流程控制理论

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

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

1.顺序结构
`  从上往下的依次执行,(最开始我们所编写的代码都是属于这种结构)`
2.分支结构
`事物的执行会根据条件的变化而做出相应决策,不是固定的(随事物状态的变化而变化)`
3.循环结构
`事物的执行会根据某个条件而出现重复`
ps:在代码的世界里,很多时候可能会出现三者混合

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

流程控制必备知识

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

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

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

if 关键字

3.如何有多行代码属于同一个父代码,那么这些子代码需要保证相同的缩进量
4.python中针对缩进量没有具体的的要求,但是推荐使用四个空格
5.当某一行代码需要编写子代码的时候,那么这一行代码的结尾肯定需要冒号
相同的缩进量的代码彼此之间是平起平坐的,按照顺序结构依次执行

分支结构

1.单if分支结构

	if 条件:
		条件成立之后才会执行的代码块
	ps:单if可以借助于流程图理解
 	 username = input('username>>>:')
	 if username == 'jason':
	     print('老师好')

image

2.if…else…分支结构

	if 条件:
     	条件成立之后执行的子代码
	else:
      	条件不成立执行的子代码
 	 username = input('username>>>:')
    if username == '小明':
        print('出去')
    else:
        print('坐下吧')

image

3.if…elif…else分支结构

if 条件1:
	条件成立后执行的子代码
elif条件2:
条件1不成立,条件2成立执行的子代码
	else:
	上述条件都不成立,执行的子代码
	**ps:中间的elif可以写多个,上述子代码永远只会执行一个**

image

例子:会员系统

# 会员系统
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子代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值