首页 > 代码库 > Python笔记之面向对象
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笔记之面向对象
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。