内存管理
- 变量无需事先声明,也不需要指定类型
- 动态语言的特性
- 编程中一般无需关心变量的存亡,也不需要关心内存的管理
- Python使用的引用计数记录所有对象的引用数
- 当对象引用数变为0,它可以被垃圾回收GC
- 计数增加:复制给其他变量就增加引用数,例如x=8,y=x
- 计数减少 当函数运行结束时,局部变量就会被自动销毁,对象引用书减少;变量被复制给其他对象,例如x=8;y=x;x=4
- 有关性能的时候,就需要考虑变量的引用问题,但是该释放内存,还是尽量不释放内存,看需
程序控制
- 顺序
- 按照先后顺序一条条执行
- 例如先洗手,在吃饭,然后洗碗
- 分支
- 根据不同的情况判断,条件满足执行某条件下的语句
- 例如,先洗手,如果饭没有做好,玩游戏,如果饭做好了,就吃饭,如果饭都没有做,叫外卖
循环
- 条件满足就反复执行,不满足就不执行或不在执行
- 例如先洗手,看饭好了么,没有好一会在看一次是否好了,一会再看一次,知道饭好了,才是吃饭。这里的循环条件就是饭没有好,就循环看饭好了没有。
分支结构
- if语句
if condition:
代码块
condition 必须是一个bool类型,这个地方有个隐式转换bool(condition)
if 1<2:
print(‘1 less than 2’)
- 代码块
- 类似于if语句冒号后面的就是一个语句块
- 在if for def class 等
- False等价bool 值,相当于bool(value)\
- 空集合 空字符串、空字典、空列表、空元组
- None对象
- 数字0
单分值结构
多分支结构
分支嵌套