# small example for inhiterance with polymorphism class AudioFile: def __init__(self, filename): if not filename.endswith(self.ext): raise Exception("Invalid file format") self.filename = filename class MP3File(AudioFile): ext = "mp3" def play(self): print("Playing {} as mp3".format(self.filename)) class WavFile(AudioFile): ext = "wav" def play(self): print("Playing {} as wav".format(self.filename)) class OggFile(AudioFile): ext = "ogg" def play(self): print("Playing {} as ogg".format(self.filename))