48 lines
1.0 KiB
Python
48 lines
1.0 KiB
Python
#!/usr/bin/env python
|
|
class Animal():
|
|
count = 0 # <1>
|
|
|
|
def __init__(self, species, name, sound):
|
|
self._species = species
|
|
self._name = name
|
|
self._sound = sound
|
|
Animal.count += 1
|
|
|
|
@property
|
|
def species(self):
|
|
return self._species
|
|
|
|
@classmethod
|
|
def kill(cls):
|
|
cls.count -= 1
|
|
|
|
@property
|
|
def name(self):
|
|
return self._name
|
|
|
|
def make_sound(self):
|
|
print(self._sound)
|
|
|
|
@classmethod
|
|
def remove(cls):
|
|
cls.count -= 1 # <2>
|
|
|
|
@classmethod
|
|
def zoo_size(cls): # <3>
|
|
return cls.count
|
|
|
|
|
|
if __name__ == "__main__":
|
|
leo = Animal("African lion", "Leo", "Roarrrrrrr")
|
|
garfield = Animal("cat", "Garfield", "Meowwwww")
|
|
felix = Animal("cat", "Felix", "Meowwwww")
|
|
|
|
print(leo.name, "is a", leo.species, "--", end=' ')
|
|
leo.make_sound()
|
|
|
|
print(garfield.name, "is a", garfield.species, "--", end=' ')
|
|
garfield.make_sound()
|
|
|
|
print(felix.name, "is a", felix.species, "--", end=' ')
|
|
felix.make_sound()
|