Python笔记之面向对象
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python笔记之面向对象相关的知识,希望对你有一定的参考价值。
1。类和对象
#create a class class fruit: def say(self): print "hello, python" if __name__ == "__main__": f = fruit() #不同于Java,不用new f.say()
2,属性和方法
#create a class class fruit: price = 0<span style="white-space:pre"> </span>#类属性 def __init__(self): self.color = "red" zone = "china" # def getColor(self): print self.color @ staticmethod #covert ordinary method to static method def getPrice(): print fruit.price def say(self): print "hello, python" if __name__ == "__main__": f = fruit() f.say() apple = fruit() apple.getColor()
构造函数。__init__()方法,可选,不提供有默认的
析构函数用语释放对象占用的资源。__del__()
垃圾回收机制,Python採用引用计数方式。
gc.collect() #显式调用垃圾回收器
3。继承
class Fruit: def __init__(self, color): self.color = color print "fruit's color is %s" % self.color def sayname(self): print "Fruit name" class Apple(Fruit): def __init(self, color): Fruit.__init__(self, color) print "Apple's color is %s" % self.color def sayname(self): print "My name is Apple" class Banana(Fruit): def __init__(self, color): Fruit.__init__(self, color) print "Banana's color is %s" % self.color def sayname(self): print "My name is banana" if __name__ == "__main__": apple = Apple("red") apple.sayname() banana = Banana("yelloe") banana.sayname()
def abstract(): raise NotImplementError(“abstract”) class Fruit: def __init__(self): if self.__class__ is Fruit: abstract() print “Fruit” class Apple(Fruit): def __init(self): Fruit.__init__(self) print "Apple" def sayname(self): print "My name is Apple"
#多态。多重继承 略
以上是关于Python笔记之面向对象的主要内容,如果未能解决你的问题,请参考以下文章