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 : 语句块 ...
随机推荐
- Java&Selenium数据驱动【DataProvider+TestNG+Excel】
Java&Selenium数据驱动[DataProvider+TestNG+Excel] package testNGWithDataDriven; import java.io.File; ...
- P1006 传纸条[棋盘DP]
题目来源:洛谷 题目描述 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题.一次素质拓展活动中,班上同学安排做成一个m行n列的矩阵,而小渊和小轩被安排在矩阵对角线的两端,因此,他们就无法直接 ...
- Http协议与TCP协议
背景 在日常工作中,经常会遇到某某框架是基于Http协议或者TCP协议,今天,就针对于该协议,整理下 从本质上来说,Http协议与TCP协议是应用在不同网络层,Http协议处于应用层,TCP处于传输层 ...
- Python+request 登录接口reponse中token传递给其他接口使用,小示例介绍《一》
要求: 1.调用登录login 2.调用通过登录接口返回的reponse中的token和uuid,实现test_create_todo接口的测试 实现: 1.login登录接口的调用,直接填写对应的U ...
- tomcat——Server.xml
本机tomcat位置:D:\tomcat7\apache-tomcat-7.0.61 server.xml 位置:D:\tomcat7\apache-tomcat-7.0.61\conf 注意:ser ...
- P4149 [IOI2011]Race 点分治
思路: 点分治 提交:5次 题解: 刚开始用排序+双指针写的,但是调了一晚上,总是有两个点过不了,第二天发现原因是排序时的\(cmp\)函数写错了:如果对于路径长度相同的,我们从小往大按边数排序,当双 ...
- PC端使用program來CHGUSRPRF
執行CHGUSRPRF命令需要*SECADM 權限,但通常Security部門不允許Grant這個這麼大的權限,爲了達到目的,改用下面的方法 1. Create CL program 注意裏面一定要用 ...
- tinymce+粘贴word图片例子
tinymce是很优秀的一款富文本编辑器,可以去官网下载.https://www.tiny.cloud 这里分享的是它官网的一个收费插件powerpaste的旧版本源码,但也不影响功能使用. http ...
- Ubuntu18.04安装和配置Django,并实现简单示例
一.前言(系统,django介绍,window.mac.linux简单区别) Django是python开发过程最重要的web框架.因为在看的Django教学视频是在mac下安装的,我自己用的是Lin ...
- 线段树QWQ
一直没碰过线段树,个人认为好长好难,不过这几天做题遇到了裸的线段树的题,TAT. 线段树我理解就是把二叉树的左右节点现在分别看成是两个区间. 那么现在这两个区间的端点怎么存放?怎么能够把这个区间里的数 ...