python GC、分支、循环
内存管理
1、变量无须事先声明,也不需要指定类型
2、python编程中一般无须关心变量的存亡,一般也不用关心内存的管理
3、python使用引用计数记录所有对象的引用计数
- 当对象引用数变为0,他就可以被垃圾回收GC
- 计数增加:赋值给其它变量就增加引用计数,例如:x=3;y=x
- 计数减少:
- 函数运行结束时,局部变量就会被自动销毁,对象引用计数减少
- 变量被赋值给其它对象。例如:x=3;y=x;x=4
有关性能的时候,就需要考虑变量的引用问题,但是该释放内存,还是尽量不释放内存,看需求。
程序控制
单分支结构
if condition:
代码块
condition必须是一个bool类型,这个地方有一个隐式转换bool(condition)
if <:
print('1 less than2')
代码块
- 类似于if语句的冒号后面的就是一个语句块
- 在if、for、def、class等关键字后使用代码块
多分支结构
if..elif..else语句
if condition1:
代码块1
elif condition2:
代码块2
elif condition3:
代码块3
....
else:
代码块 举例:
a =
if a<:
print('negative')
elif a ==:
print('zero')
else:
print('positive')
分支嵌套
举例:
score =
if score<:
print('wrong')
else:
if score == :
print('egg')
elif score <= :
print('right')
else:
print('too big')
- 嵌套结构,可以是分支、循环的嵌套
- 可以相互嵌套多层
作业:
#输入两个数字
num1 = int(input(">>"))
num2 = int(input(">>"))
if num1 > num2:
print(num1)
else:
print(num2)
#给定一个不超过5位的正整数,判断是几位数。
num = int(input(">>"))
if num >= 1000:
if num >= 10000:
print(5)
else:
print(4)
else:
if num >=100:
print(3)
elif num >=10:
print(2)
else:
print(1)
循环:
while
语法:
while condition:
block
当条件满足既condition为True,进入循环体,执行block
举例:
flag=10
while flag:
print(flag)
flag -=1
for
语法:
for element in iteratable:
block
当可迭代对象中有元素可以迭代,进入循环体,执行block
例如:range函数,这就是一个可迭代对象
举例:打印1-10
for i in range(10):
print(i+1)
continue
中断当前循环的当次执行,继续下一次循环
举例:计算10以内的偶数(for循环)
for i in range(10):
if not i%2:
print(i)
也可以使用步长
for i in range(0,10,2):
print(i)
使用continue
for i in range(10):
if i%2:
continue
print(i)
倒序打印1-10
for i in range(9,-1,-1):
print(i)
break
终止当前循环
举例:计算1000以内的被7整除的前20个数(for循环)
count = 0
for i in range(0,7000,7):
print(i)
count +=1
if count >=20:
break
break和continue 总结
- continue和break是循环的控制语句,只影响当前循环,包括while、for循环
- 如果循环嵌套,continue和break也只影响语句所在的那一层循环
- continue和break不是跳出语句块,所以 if cond: break不是跳出if,而是终止if外的break所在循环。
python GC、分支、循环的更多相关文章
- python的分支循环
知识内容: 1.if-else分支结构 2.while循环 3.for循环 4.循环结构综述 5.break和continue语句 一.if-else分支结构 1.单分支选择结构 if 表达式: 语句 ...
- Python入门-分支循环结构
编写代码的过程中,除了基本的变量,数据类型,在实际开发中,大量代码是根据判断条件,进而选择不同的的向前运行方式. 这些向前的运行方式基本分为两种:分支结构,循环结构 1.分支结构 if单分支结构 # ...
- 一文了解Python中的循环(for while break continue 嵌套循环...)
循环 目标 程序的三大流程 while 循环基本使用 break 和 continue while 循环嵌套 01. 程序的三大流程 在程序开发中,一共有三种流程方式: 顺序 —— 从上向下,顺序执行 ...
- python中的循环以及,continue和break的使用
循环 目标 程序的三大流程 while 循环基本使用 break 和 continue while 循环嵌套 01. 程序的三大流程 在程序开发中,一共有三种流程方式: 顺序 —— 从上向下,顺序执行 ...
- Python gc
Python gc Python gc 模块提供垃圾回收器的接口 关于 Python 垃圾回收 <- 点击查看 官方文档:https://docs.python.org/3/library/gc ...
- python基础之循环结构以及列表
python基础之编译器选择,循环结构,列表 本节内容 python IDE的选择 字符串的格式化输出 数据类型 循环结构 列表 简单购物车的编写 1.python IDE的选择 IDE的全称叫做集成 ...
- Python之 for循环\while循环
list或tuple可以表示一个有序集合.如果我们想依次访问一个list中的每一个元素呢?比如 list: L = ['Adam', 'Lisa', 'Bart'] print L[0] print ...
- Python进阶05 循环设计
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在"循环"一节,我们已经讨论了Python基本的循环语法.这一 ...
- 第五篇:python基础之循环结构以及列表
python基础之循环结构以及列表 python基础之编译器选择,循环结构,列表 本节内容 python IDE的选择 字符串的格式化输出 数据类型 循环结构 列表 简单购物车的编写 1.pyth ...
- [Python笔记][第三章Python选择与循环]
1月28日学习 Python选择与循环 选择结构 多分枝选择结构 if 表达式 1: 语句块 1 elif 表达式 2: 语句块 2 elif 表达式 3: 语句块 3 ... else : 语句块 ...
随机推荐
- Netty搭建服务端的简单应用
Netty简介 Netty是由JBOSS提供的一个java开源框架,现为 Github上的独立项目.Netty提供异步的.事件驱动的网络应用程序框架和工具,用以快速开发高性能.高可靠性的网络服务器和客 ...
- HTML5游戏2D开发引擎
1.PixiJS(基于webGl和canvas) 官网:http://www.pixijs.com/ github(star:20672):https://github.com/pixijs/pixi ...
- 第92题:反转链表II
一. 问题描述 反转从位置 m 到 n 的链表.请使用一趟扫描完成反转. 说明: 1 ≤ m ≤ n ≤ 链表长度. 示例: 输入: 1->2->3->4->5->NUL ...
- lvs+keepalived做高可用方案1
本文我们主要讲解的是LVS通过keepalived来实现负载均衡和高可用,而不是我们第三篇文章介绍的通过手动的方式来进行配置.通过脚本的方式来显示RS节点的健康检查和LVS的故障切换.此文会通过一个实 ...
- c#调用
一.基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术.是 ...
- 关于数组的ORDERBY自带函数
昨天有练习对数字阵列进行排序,<C#阵列Array排序>https://www.cnblogs.com/insus/p/10825174.html 其实一切都弄得很复杂,array已经有2 ...
- java后台实体类设置默认值
private String orderPrice;//定义类的属性 /* * get set方法 * String.trim() 返回字符串的副本,忽略前导空白和尾部空白. */ public St ...
- Python中的memoryview
Python中的memoryview提供了类似C语言指针的功能,有了memoryview,如果某个Object支持buffer protocol,那么就可以通过memory去访问到他的内部. Pyth ...
- ASP.Net参数传递小结
同一页面.aspx与.aspx.cs之间参数传递 1. .aspx.cs接收.aspx的参数:由于.aspx和.aspx.cs为继承关系,所以.aspx.cs可以直接对.aspx中的ID进行值提取,具 ...
- 为什么添加了@Aspect 还要加@Component(转)
官方文档中有写: You may register aspect classes as regular beans in your Spring XML configuration, or autod ...