Constructeurs Python pour les Artéfacts Impériaux

PythonBeginner
Pratiquer maintenant

Introduction

Au cœur des majestueux palais de la dynastie Ming, un eunuque diligent entreprend une mission cruciale consistant à documenter et à gérer l'immense inventaire des trésors impériaux. Au milieu de la splendeur des anciennes salles et des chambres opulentes, notre protagoniste, portant le titre de "Gardien des Artifices", doit appliquer la plus grande précision et soin. En utilisant l'outil puissant et polyvalent du langage Python, il doit maintenir un enregistrement minutieux.

Votre objectif est d'aider notre fidèle eunuque à maîtriser le concept de constructeurs en Python - essentiel pour encapsuler les propriétés de chaque artefact unique et automatiser le processus avec des structures basées sur des classes. Dans ce scénario immergeant, vous allez apprendre à définir et à utiliser des constructeurs, améliorant vos compétences pour manipuler les données avec une élégante efficacité - une entreprise digne de la réputation de la cour impériale!

Classe Python avec Constructeur

Dans cette étape, vous allez créer une classe Python qui représente un artefact de la collection du palais. Vous définirez un constructeur pour initialiser ses attributs tels que le nom, l'âge et l'origine.

Veuillez ouvrir un fichier Python nommé artifact.py dans le répertoire ~/project avec le contenu suivant :

class Artifact:
    def __init__(self, name, age, origin):
        self.name = name
        self.age = age
        self.origin = origin

## Exemple d'utilisation
if __name__ == "__main__":
    jade_vase = Artifact("Jade Vase", 150, "China")
    print(f"Artefact : {jade_vase.name}, Âge : {jade_vase.age}, Origine : {jade_vase.origin}")

La classe Artifact a une méthode __init__ qui est un constructeur en Python. Elle est automatiquement appelée lorsque vous créez une nouvelle instance de la classe. Le paramètre self fait référence à l'instance actuelle de la classe et est utilisé pour accéder aux variables qui appartiennent à la classe.

Exécutez le script Python en exécutant la commande suivante dans le terminal :

python ~/project/artifact.py

Vous devriez voir la sortie suivante :

Artefact : Jade Vase, Âge : 150, Origine : Chine

Ajout de Méthodes à Artifact

Maintenant, améliorons la classe Artifact en ajoutant des méthodes qui permettent à l'eunuque d'afficher et de mettre à jour les informations de l'artefact. Vous créerez une méthode pour imprimer les détails de l'artefact et une autre pour mettre à jour son âge.

Modifiez le fichier artifact.py pour inclure les nouvelles méthodes :

class Artifact:
    def __init__(self, name, age, origin):
        self.name = name
        self.age = age
        self.origin = origin

    def display_info(self):
        print(f"Artefact : {self.name}, Âge : {self.age}, Origine : {self.origin}")

    def update_age(self, new_age):
        if new_age >= 0:
            self.age = new_age
        else:
            print("Âge invalide. Veuillez entrer un nombre positif.")

## Exemple d'utilisation
if __name__ == "__main__":
    jade_vase = Artifact("Jade Vase", 150, "Chine")
    jade_vase.display_info()
    jade_vase.update_age(160)
    jade_vase.display_info()

La méthode display_info imprime les détails d'un artefact. La méthode update_age permet de mettre à jour l'attribut d'âge, en s'assurant que seulement des nombres valides et positifs sont définis.

Exécutez le script Python mis à jour en exécutant à nouveau la commande correspondante dans le terminal et observez la sortie.

Les informations suivantes devraient être affichées sur votre terminal :

Artefact : Jade Vase, Âge : 150, Origine : Chine
Artefact : Jade Vase, Âge : 160, Origine : Chine

Résumé

Dans ce laboratoire, vous avez eu une expérience interactive dans les palais de la dynastie Ming ancienne, où vous avez assisté notre personnage à documenter les artefacts en utilisant les constructeurs Python. Le principal objectif était de comprendre le concept de constructeurs en Python et de savoir comment manipuler les attributs de classe à travers des méthodes.

En passant de la création d'une classe et de son constructeur à l'ajout de méthodes fonctionnelles, vous avez acquis une expérience pratique. Vous avez appris à instancier des objets, à initialiser leurs attributs et à manipuler les données d'objets avec des méthodes définies par la classe - un ensemble de compétences fondamentales pour tout développeur Python.

Nous espérons que vous avez compris l'idée de base des constructeurs Python et de la manière dont ils peuvent être des outils puissants pour l'encapsulation de données et la programmation orientée objet. Maintenant, vous pouvez avancer et affronter des défis de programmation encore plus complexes avec la confiance d'un Gardien des Artifices de la cour impériale!