Tutoriel – Typage d’objets (13)

Tutoriel - Typage d'objets (13)
Tutoriel - Typage d'objets (13)

Python est langage de développement devenu très populaire dans le développement d’application. Nous allons continuer à avancer en regardant la notion de typage d’objets en python et comment les manipuler.

Précédent tutoriel : #12 – Classes abstraites

Ce tutoriel est également disponible en vidéo :

Typage d’objets

En Python il est possible de faire du typage d’objets pour rendre nos objets plus sécurisés dans leurs utilisations. Quand on parle de « typage », on veut dire de forcer le type de variable attendu en entrée et en sortie de méthode.

Pour donner l’indication sans créer d’erreur si le mauvais type est formulé il faut utiliser la nomenclature suivante :

  • variable: type pour typer les paramètres d’entrée
  • -> type pour les retour des méthodes

Voici un exemple :

class Fruit():
  nom = ''

def __init__ (self, nom: str):
  self.nom = nom

def retourneNom(self) -> str:
      return self.nom

banane = Fruit('banane')
print(banane.retourneNom)

Afin de rendre l’indication de typage strict vous pouvez utiliser un package strict-hint qu’il faudra sur certains environnement installer par soit même. Il faudra ensuite dan vos programme importer votre package avec la ligne from strict_hint import strict et mettre l’annotation @strict sur les méthode où vous voulez imposer ce typage.

from strict_hint import strict

class Fruit():
    nom = ''

    @strict
    def __init__ (self, nom: str):
        self.nom = nom

    @strict
    def retourneNom(self) -> str:
        return self.nom

banane = Fruit('banane')
print(banane.retourneNom)

Si str permet de forcer un passage de chaîne de caractères, vous pouvez aussi imposer des nombre entiers avec int, des nombres décimaux avec float, des booléens avec bool… Il est possible également d’imposer de fournir des listes ou des dictionnaires.

 Il est également possible de forcer le passage d’un objet par le nom de sa classe.

Voici un exemple où on doit passer un objet créé à partir de la classe Couleur :

from strict_hint import strict

class Couleur():
    nom = ''

class Fruit():
    nom = ''

    @strict
    def __init__ (self, nom: str, couleur: Couleur):
        self.nom = nom
        self.couleur = couleur

    @strict
    def retourneNom(self) -> str:
        return self.nom

jaune = Couleur()
banane = Fruit('banane', jaune)
print(banane.retourneNom)

Conclusion

Nous avons vu de nouvelles notions utiles sur les objets en Python qui sont indispensables à connaitre pour faire des programmes de qualité. Nous irons plus loin dès le prochain chapitre dans notre apprentissage sur le python qui proposent encore de nombreux secrets.

Prochain chapitre : #14 – manipulation des fichiers

[ Article lu 1 fois aujourd'hui ]
A propos Judicaël Paquet 942 Articles
  Paquet Judicaël (expert en transformation et AI) Mes activités en France et en Suisse : - ingénieur prompt - coach AI - architecte de transformation agile - formations agiles personnalisées - sensibilisations et coaching de manager - audits de maturité agile et de situations - coaching agile (équipes, orga, product owner, scrum master, coach agile) Spécialités : scrum, kanban, management 3.0, agilité à l’échelle, lean startup, méthode agile, prompt AI, Intelligence artificielle. [Me contacter]

Soyez le premier à commenter

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.


*


Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.