#!/usr/bin/env python3.7 class weapon (): def affichage(self): print(f"Nom : {self.nom}") class pistolet(weapon): def __init__(self): self.nom = """Ares predator""" class mitraillette(weapon): def __init__(self): self.nom = """Ingram smartgun""" class weapon_factory(): def get_weapon(weapon_type): try: if weapon_type == "pistolet": return pistolet() if weapon_type == "mitraillette": return mitraillette() raise AssertionError(f"Le type '{weapon_type}' est inconnue.") except AssertionError as _e: print(_e) exit(1) if __name__ == '__main__': weapon = weapon_factory.get_weapon('pistolet') weapon.affichage() weapon = weapon_factory.get_weapon('machette') weapon.affichage()