使用super()继承 分类: python 小练习 2013-09-18 14:13 320人阅读 评论(0) 收藏
2013-09-18 14:13
866 查看
__metaclass__=type #定义使用新式类
class Bird:
def __init__(self):
self.hungry = True #父类中的属性hungry
def eat(self):
if self.hungry:
print 'Ha...Ha'
self.hungry=False
else:
print 'No,Thanks'
class Pets:
def __init__(self):
self.name='pets'
def eat(self):
print 'I can eat plant'
class songBird(Pets,Bird):
def __init__(self,name='k-bird'):
super(songBird,self).__init__() #使用super进行继承
self.name = name
def song(self):
self.eat() # 先吃饭,再唱歌,无可厚非......哈哈。高兴的别太早,注意此处是调用Pets类中的eat()方法
print 'Hello,everyone, I am %s,Do I sing well?' % self.name
sb=songBird('Penguis')
sb.song()
继承多个父类中的同一个方法(如调用Bird类、Pets类中共同的eat方法),则根据类名顺序调用第一个类中的方法。如果是class songBird(Pets,Bird),则songBird类中调用eat方法,调用的是Pets类中的eat方法;如果class songBird(Bird,Pets),则songBird类中调用eat方法,调用的是Bird类中的eat方法。
class Bird:
def __init__(self):
self.hungry = True #父类中的属性hungry
def eat(self):
if self.hungry:
print 'Ha...Ha'
self.hungry=False
else:
print 'No,Thanks'
class Pets:
def __init__(self):
self.name='pets'
def eat(self):
print 'I can eat plant'
class songBird(Pets,Bird):
def __init__(self,name='k-bird'):
super(songBird,self).__init__() #使用super进行继承
self.name = name
def song(self):
self.eat() # 先吃饭,再唱歌,无可厚非......哈哈。高兴的别太早,注意此处是调用Pets类中的eat()方法
print 'Hello,everyone, I am %s,Do I sing well?' % self.name
sb=songBird('Penguis')
sb.song()
继承多个父类中的同一个方法(如调用Bird类、Pets类中共同的eat方法),则根据类名顺序调用第一个类中的方法。如果是class songBird(Pets,Bird),则songBird类中调用eat方法,调用的是Pets类中的eat方法;如果class songBird(Bird,Pets),则songBird类中调用eat方法,调用的是Bird类中的eat方法。
相关文章推荐
- 使用文件进行优化 分类: python 小练习 divide into python python基础学习 2014-01-01 14:13 228人阅读 评论(0) 收藏
- 使用StringIO 分类: python 小练习 2013-06-14 16:00 233人阅读 评论(0) 收藏
- 使用glob模块输出目录内容 分类: python 小练习 2013-09-17 18:16 248人阅读 评论(0) 收藏
- 使用os.walk()方法 分类: python 小练习 2013-08-14 10:52 1465人阅读 评论(0) 收藏
- 使用locals()获得类,进行分发 分类: python 小练习 divide into python python基础学习 2014-02-21 14:51 217人阅读 评论(0) 收藏
- #小练习 使用字典保存HTMLParser解析的数据 分类: python 小练习 HTMLParser 2013-11-08 20:51 574人阅读 评论(0) 收藏
- #小练习 使用正则抓取oschina博客专区首页数据 分类: python 小练习 正则表达式 2013-11-11 17:22 604人阅读 评论(0) 收藏
- 使用glob模块,遍历E盘下的mp3文件 分类: python 小练习 2013-05-15 15:40 405人阅读 评论(0) 收藏
- python数据持久存储:pickle模块的基本使用 分类: python python基础学习 python 小练习 2013-06-17 14:41 209人阅读 评论(0) 收藏
- #小练习 类与继承 分类: python 小练习 2013-04-26 15:27 175人阅读 评论(0) 收藏
- 使用正则表达式替换文件内容 分类: python 小练习 2013-08-13 15:07 332人阅读 评论(0) 收藏
- #小练习 使用sys.argv 分类: python 小练习 2013-09-10 17:44 318人阅读 评论(0) 收藏
- 使用random模块,生成动态随机密码 分类: python 小练习 python Module 2013-12-04 17:23 278人阅读 评论(0) 收藏
- 使用os.popen/commands.getoutput查询指定端口号的服务 分类: python 小练习 open()文件读写 python基础学习 2013-09-17 17:49 798人阅读 评论(0) 收藏
- #小练习 解析HTML文件并使用字典保存链接 分类: HTMLParser python 小练习 2013-11-11 12:06 267人阅读 评论(0) 收藏
- 使用python解析json文件 分类: python 小练习 2014-03-21 18:17 354人阅读 评论(0) 收藏
- 使用fileinput模块进行原地修改文件 分类: python 小练习 2013-08-13 16:47 618人阅读 评论(0) 收藏
- #小练习 使用HTMLParser获取data时注意事项 分类: python 小练习 HTMLParser 2013-11-08 21:05 335人阅读 评论(0) 收藏
- 继承父类,调用父类中的方法 分类: python 小练习 python基础学习 2014-01-10 17:54 325人阅读 评论(0) 收藏
- #小练习 从多个文件中提取电话号码 分类: python 小练习 正则表达式 2013-05-28 15:40 442人阅读 评论(0) 收藏