constructor.py 790 B

1234567891011121314151617181920212223242526272829303132
  1. #!/usr/bin/env python3
  2. # Copyright 2009-2017 BHG http://bw.org/
  3. class Animal:
  4. def __init__(self, type, name, sound):
  5. self._type = type
  6. self._name = name
  7. self._sound = sound
  8. def type(self):
  9. return self._type
  10. def name(self):
  11. return self._name
  12. def sound(self):
  13. return self._sound
  14. def print_animal(o):
  15. if not isinstance(o, Animal):
  16. raise TypeError('print_animal(): requires an Animal')
  17. print('The {} is named "{}" and says "{}".'.format(o.type(), o.name(), o.sound()))
  18. def main():
  19. a0 = Animal('kitten', 'fluffy', 'rwar')
  20. a1 = Animal('duck', 'donald', 'quack')
  21. print_animal(a0)
  22. print_animal(a1)
  23. print_animal(Animal('velociraptor', 'veronica', 'hello'))
  24. if __name__ == '__main__': main()