内存管理

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 <:

  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、分支、循环的更多相关文章

  1. python的分支循环

    知识内容: 1.if-else分支结构 2.while循环 3.for循环 4.循环结构综述 5.break和continue语句 一.if-else分支结构 1.单分支选择结构 if 表达式: 语句 ...

  2. Python入门-分支循环结构

    编写代码的过程中,除了基本的变量,数据类型,在实际开发中,大量代码是根据判断条件,进而选择不同的的向前运行方式. 这些向前的运行方式基本分为两种:分支结构,循环结构 1.分支结构 if单分支结构 # ...

  3. 一文了解Python中的循环(for while break continue 嵌套循环...)

    循环 目标 程序的三大流程 while 循环基本使用 break 和 continue while 循环嵌套 01. 程序的三大流程 在程序开发中,一共有三种流程方式: 顺序 —— 从上向下,顺序执行 ...

  4. python中的循环以及,continue和break的使用

    循环 目标 程序的三大流程 while 循环基本使用 break 和 continue while 循环嵌套 01. 程序的三大流程 在程序开发中,一共有三种流程方式: 顺序 —— 从上向下,顺序执行 ...

  5. Python gc

    Python gc Python gc 模块提供垃圾回收器的接口 关于 Python 垃圾回收 <- 点击查看 官方文档:https://docs.python.org/3/library/gc ...

  6. python基础之循环结构以及列表

    python基础之编译器选择,循环结构,列表 本节内容 python IDE的选择 字符串的格式化输出 数据类型 循环结构 列表 简单购物车的编写 1.python IDE的选择 IDE的全称叫做集成 ...

  7. Python之 for循环\while循环

    list或tuple可以表示一个有序集合.如果我们想依次访问一个list中的每一个元素呢?比如 list: L = ['Adam', 'Lisa', 'Bart'] print L[0] print ...

  8. Python进阶05 循环设计

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在"循环"一节,我们已经讨论了Python基本的循环语法.这一 ...

  9. 第五篇:python基础之循环结构以及列表

    python基础之循环结构以及列表   python基础之编译器选择,循环结构,列表 本节内容 python IDE的选择 字符串的格式化输出 数据类型 循环结构 列表 简单购物车的编写 1.pyth ...

  10. [Python笔记][第三章Python选择与循环]

    1月28日学习 Python选择与循环 选择结构 多分枝选择结构 if 表达式 1: 语句块 1 elif 表达式 2: 语句块 2 elif 表达式 3: 语句块 3 ... else : 语句块 ...

随机推荐

  1. java线程基础巩固---线程间通信快速入门,使用wait和notify进行线程间的数据通信

    之前已经对于线程同步相关的知识点进行了详细的学习,这次来学习一下线程间的通信相关的知识,话不多说直接用代码进行演练,以一个简陋的生产者消费者模型来初步了解下线程间通信是怎么一回事. 生产消费者第一版: ...

  2. layui模块化使用

    layui模块化使用分为两部分: 1.自身模块的设置与使用.2.自定义模块的设置与使用.直接上案例吧 <a>加载入口模块与自定义模块设置: <b>自定义模块名 <c> ...

  3. v-solt插槽

    https://www.jb51.net/article/157565.htm https://juejin.im/post/5c64e11151882562e4726d98

  4. 不一样的 Null

    前不久处理一个异常的时候发现了一段有趣的代码,一同事在往表里(Sql Server 数据库)添加数据的时候给可以为 null 的字段赋了如下的值: Student stu = new Student( ...

  5. 00_UnorderedObjectListWarning: Pagination may yield inconsistent results with an unordered object_list: # <class 'django.contrib.auth.models.Group'> QuerySet.

    访问groups时,后端报警告 UnorderedObjectListWarning: Pagination may yield inconsistent results with an unorde ...

  6. mysql 数据库练习题

    前面学习了MySQL的语句的基本用法,这里就开始做一些MySQL练习,这套题目一共45题,属于比较简单的,初学先试着做这个. 参考链接:https://www.cnblogs.com/SJP666/p ...

  7. 顺序表Vector

    程序中会使用数据结构:例如:顺序表.链表.二叉树: 数据结构在底层中本质上只有两种:数据之间挨着和不挨着:   1.关于Vector

  8. 变形课 HDU - 1181 【floyd传递闭包水题】

    呃......变形课上Harry碰到了一点小麻烦,因为他并不像Hermione那样能够记住所有的咒语而随意的将一个棒球变成刺猬什么的,但是他发现了变形咒语的一个统一规律:如果咒语是以a开头b结尾的一个 ...

  9. webuploader+文件夹上传

    在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 先说下要求: PC端全平台支持,要求支持Windows,Mac,Linux 支持所 ...

  10. java+上传文件夹

    最近在学习百度的开源上传组件WebUploader,写了一些示例以记录.WebUploader的缺点是没有一个比较好的现成的界面,这个界面需要自己去实现.自由度高了一些. WebUploader是由B ...