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 : 语句块 ...
随机推荐
- 远程连接服务器数据库报错:Host ‘XXXXXX’ is blocked because of many connection errors
原文:https://blog.csdn.net/li_li_lin/article/details/72764683 一.我遇到的问题描述 使用Navicat for mysql连接公司的服务器数据 ...
- 用js刷剑指offer(重建二叉树)
题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字.例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7, ...
- How to resolve the 403 error when send POST request from Postman
Root cause: the site refused the connection from the http request origin, by default it is setted as ...
- opencv+python 添加文字 cv2.putText
import cv2 img = cv2.imread('E:\\usb_test\\example\\yolov3\\rknn_emotion\\test_images\\llj5.jpg') fo ...
- [转]Linux 桌面玩家指南:20. 把 Linux 系统装入 U 盘打包带走
原文:https://www.cnblogs.com/youxia/p/LinuxDesktop020.html ------------------------------------------- ...
- P1396 营救[最短路+二分]
题目描述 “咚咚咚……”“查水表!”原来是查水表来了,现在哪里找这么热心上门的查表员啊!小明感动的热泪盈眶,开起了门…… 妈妈下班回家,街坊邻居说小明被一群陌生人强行押上了警车!妈妈丰富的经验告诉她小 ...
- vue 后台获取文件流导出excel文件
let params = { compStartTm: Date.parse(this.searchForm.compStartTm) / 1000, compEndTm: Date.parse(th ...
- [转载]Java进程物理内存远大于Xmx的问题分析
进程物理内存远大于Xmx的问题分析 问题描述 最近经常被问到一个问题,”为什么我们系统进程占用的物理内存(Res/Rss)会远远大于设置的Xmx值”,比如Xmx设置1.7G,但是top看到的Res的值 ...
- python3爬虫系列19之反爬随机 User-Agent 和 ip代理池的使用
站长资讯平台:python3爬虫系列19之随机User-Agent 和ip代理池的使用我们前面几篇讲了爬虫增速多进程,进程池的用法之类的,爬虫速度加快呢,也会带来一些坏事. 1. 前言比如随着我们爬虫 ...
- JS 框架安全报告:jQuery 下载次数超过 1.2 亿次
尽管 JavaScript 库 jQuery 仍被使用,但它已不再像以前那样流行.根据开源安全平台 Snyk 统计,目前至少十分之六的网站受到 jQuery XSS 漏洞的影响,甚至用于扩展 jQue ...