标签:UNC deb style debug 内置模块 family 回收机制 之间 集合
‘‘‘
基本知识: 1. .py文件的结构
2. .py文件的运行加载过程: 1) 初始化, 导入环境
2) 导入必要的modules, 内置模块
3) 从上到下动态运行代码:
1>. 对于定义的语法, 只导入不执行
2>. 调用时才执行
3. .py文件的运行特点:
1) 可以动态的导入modules, 只要在调用之前
2) 可以动态的创建类, 只要在调用之前
3) 函数只有在调用时才执行
4. Python的垃圾回收机制:
引用计数为主, 分代回收为辅
引用计数: 缺点循环引用的问题
如果一个对象的引用数为0,Python虚拟机就会回收这个对象的内存
引用+1: 创建对象, 对象被引用, 对象作为参数, 对象被存储
引用-1: 销毁对象, 对象赋予新值, 对象离开作用域(函数执行完, 销毁局部变量), 对象容器被销毁
标记清理:
1. 对象之间通过引用(指针)构成一个有向图
2. 从根对象(全局变量,调用栈)开始遍历, 将可达的对象标记为活动对象, 不可达的对象标记为清理对象
分代回收:
1. 根据对象存活时间,将对象分为不同的集合,总共为三代
2. 当一代中的对象达到上限时, 使用标记清理这代, 没有被清理的移至上一代中
‘‘‘ # 综述
# -*- coding: utf-8 -*- # 1. 起始行: 编码方式, 作者
__author__ = ‘xzq‘
‘‘‘
this is a test module
‘‘‘ # 2. 模块说明
import sys, os # 3. 导入模块
debug = True # 4. 全局变量
class ClassName(object): pass # 5. 定义类
def func(): pass # 6. 定义函数
if __name__ == "__main__": # 7. 主函数: 只在该.py文件下, 下面的代码才会运行, 一般用来测试本模块
c = ClassName()
func()
标签:UNC deb style debug 内置模块 family 回收机制 之间 集合
原文地址:https://www.cnblogs.com/lancelotxly/p/10837759.html