通过一个小程序实验了Python中父类和子类的一些性质,直接上代码:
# -*- coding: UTF-8 -*-
class ParentClass:
def __init__(self):
self.start()
def start(self):
print "parent method"
def count(self):
print "1111"
self.num = 123
class ChildClass(ParentClass):
def __init__(self):
self.start()
def start(self): #重载了父类的方法
print "child method"
def foo():
obj = ChildClass()
obj.count() #直接调用父类的方法
print obj.num #父类中的类变量会被子类全部继承
if __name__ == '__main__':
foo()
程序输出结果为:
child method
1111
123
Python和java一样都有内存回收机制,不需要调用额外的析构函数进行内存释放。但是当程序中存在无限循环结构时,如果想强行析构,就需要在类中定义__del__方法:
def __del__(self):
print "object deleted"
当然,析构函数里也可以增加其他函数,比如说我的类里面用了两个进程,某个进程中存在无限循环的结构,就需要在这个函数中把进程终止:
self.process1.terminate()