热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

pythonGC、分支、循环

内存管理1、变量无须事先声明,也不需要指定类型2、python编程中一般无须关心变量的存亡,一般也不用关心内存的管理3、python使用引用计数记录所有对象的引用计数当对象引用数

内存管理

1、变量无须事先声明,也不需要指定类型

2、python编程中一般无须关心变量的存亡,一般也不用关心内存的管理

3、python使用引用计数记录所有对象的引用计数

  • 当对象引用数变为0,他就可以被垃圾回收GC
  • 计数增加:赋值给其它变量就增加引用计数,例如:x=3;y=x
  • 计数减少:
  1. 函数运行结束时,局部变量就会被自动销毁,对象引用计数减少
  2. 变量被赋值给其它对象。例如:x=3;y=x;x=4

有关性能的时候,就需要考虑变量的引用问题,但是该释放内存,还是尽量不释放内存,看需求。

程序控制

单分支结构

if condition:

  代码块

condition必须是一个bool类型,这个地方有一个隐式转换bool(condition)

if 1<2:

  print('1 less than2')

代码块

  • 类似于if语句的冒号后面的就是一个语句块
  • 在if、for、def、class等关键字后使用代码块

多分支结构

if..elif..else语句
    if condition1:
        代码块1
    elif condition2:
        代码块2
    elif condition3:
        代码块3
    ....
    else:
        代码块

举例:
    a = 5
    if a<0:
        print('negative')
    elif a ==0:
        print('zero')
    else:
        print('positive')

分支嵌套

举例:
score = 80
if score<0:
    print('wrong')
else:
    if score == 0:
        print('egg')
    elif score <= 100:
        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所在循环。

 


推荐阅读
  • 本文介绍了贝叶斯垃圾邮件分类的机器学习代码,代码来源于https://www.cnblogs.com/huangyc/p/10327209.html,并对代码进行了简介。朴素贝叶斯分类器训练函数包括求p(Ci)和基于词汇表的p(w|Ci)。 ... [详细]
  • 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
  • Python中的PyInputPlus模块原文:https ... [详细]
  • python之poc编写——sql篇
    文章目录sql注入漏洞漏扫单个网站基础sql扫描多个网站sql基础扫描时间盲注型扫描升阶版sq ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了logistic回归(线性和非线性)相关的知识,包括线性logistic回归的代码和数据集的分布情况。希望对你有一定的参考价值。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • Oracle分析函数first_value()和last_value()的用法及原理
    本文介绍了Oracle分析函数first_value()和last_value()的用法和原理,以及在查询销售记录日期和部门中的应用。通过示例和解释,详细说明了first_value()和last_value()的功能和不同之处。同时,对于last_value()的结果出现不一样的情况进行了解释,并提供了理解last_value()默认统计范围的方法。该文对于使用Oracle分析函数的开发人员和数据库管理员具有参考价值。 ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • 本文讨论了如何使用GStreamer来删除H264格式视频文件中的中间部分,而不需要进行重编码。作者提出了使用gst_element_seek(...)函数来实现这个目标的思路,并提到遇到了一个解决不了的BUG。文章还列举了8个解决方案,希望能够得到更好的思路。 ... [详细]
  • 流程控制之分支结构
    一. 什么是流程控制流程控制是程序代码执行的顺序。二. 事物执行流程1)顺序结构从上往下依次执行,我们之前所编写的代码都属于该结构2)分支结构事物的 ... [详细]
  • 那你就是学的c语言,跟我学c语言
    本文目录一览:1、如何学习C语言?2、新手如何 ... [详细]
  • 广告关闭腾讯云11.11云上盛惠,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元࿰ ... [详细]
author-avatar
mobiledu2502857923
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有