24-python_内部类-构造函数与析构函数-垃圾回收机制

- 内部类
- 构造函数与析构函数
- 垃圾回收机制

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() 可以一次性收集 所有待处理的对象
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值