- 内部類
- 構造函數與析構函數
- 垃圾回收機制
1. 内部類
1.1 概念
類的内部定義的類, 相當于類的成員
1.2 執行個體化
1) outClassName.inClassName()
2) outClassName().inClassName()
1.3 例子
class MyOuterClass:
"""docstring for ClassName"""
def method(self) :
print "hello"
class MyInnerClass :
var = "I am inner class"
if __name__ == "__main__":
MyOuterClass().method()
print MyOuterClass().MyInnerClass().var
print MyOuterClass().MyInnerClass.var
print MyOuterClass.MyInnerClass.var
2. 構造函數 與 析構函數
2.1 構造函數
2.1.1 概念
1) 函數名: __init__()
2) 作用 : 初始化對象
3) 執行時機: 對象初始化時被調用
2.1.2 例子
class Demo :
def __init__(self):
print "I'm __init__()"
if __name__ == '__main__':
Demo()
2.2 析構函數
2.2.1 概念
1) 函數名: __del__()
2) 作用 : 對象銷毀之前 處理一些資源
3) 執行時機: 對象銷毀時被調用
4) 可以用内置函數 del(instance) 來銷毀
2.2.2 例子
class Destory :
def __init__(self):
print "init myself"
def __del__(self):
print "ruin myself"
if __name__ == '__main__':
instance = Destory()
print "do someting 11"
#del instance
#print "do someting 22"
3. 垃圾回收機制
- Python采用 垃圾回收機制 來清理不再使用的對象
- Python提供 gc子產品 釋放不再使用的對象
- Python采用"引用計數"的算法方式來處理回收
即, 當某個對象在其作用域内不再被其他對象引用時, 該對象就被自動清除
- gc.collect() 可以一次性收集 所有待處理的對象