Discuss / Python / 额。。复习一下前面的

额。。复习一下前面的

Topic source

class Animal(object):

pass

class Mammal(Animal):

pass

class Bird(Animal):

pass

class RunnableMixIn(object):

def run(self):

return 'can run...'

class FlyableMixIn(object):

def fly(self):

return 'can fly...'

class Dog(Mammal,RunnableMixIn):

def __init__(self,name):

self.name = name

class Bat(Mammal,FlyableMixIn):

def __init__(self,name):

self.name = name

class Parrot(Bird,FlyableMixIn):

def __init__(self,name):

self.name = name

class Ostrich(Bird,RunnableMixIn):

def __init__(self,name):

self.name = name

dog = Dog('Dog')

bat = Bat('Bat')

parrot = Parrot('Parrot')

ostrich = Ostrich('Ostrich')

for a in (dog,bat,parrot,ostrich):

if isinstance(a,RunnableMixIn) == True:

print('%s %s'%(a.name,a.run()))

print(' ')

elif isinstance(a,RunnableMixIn) != True:

print('%s %s'%(a.name,a.fly()))

print(' ')

输出:

Dog can run...

Bat can fly...

Parrot can fly...

Ostrich can run...


  • 1

Reply