Constructores de Python para Artefactos Imperiales

PythonPythonBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En el corazón de los majestuosos palacios de la dinastía Ming, un diligente eunuco emprende una misión crucial para documentar y administrar el vasto inventario de tesoros imperiales. En medio de la grandeza de las antiguas salas y los lujosos aposentos, nuestro protagonista, que ostenta el título de "Guardian de los Artículos", debe aplicar la máxima precisión y cuidado. Utilizando la potente y versátil herramienta del lenguaje de programación Python, debe mantener un registro meticuloso.

Tu objetivo es ayudar a nuestro fiel eunuco a dominar el concepto de constructores en Python, esencial para encapsular las propiedades de cada artefacto único y automatizar el proceso con estructuras basadas en clases. En este escenario inmersivo, aprenderás cómo definir y utilizar constructores, mejorando tus habilidades para manejar datos con elegante eficiencia, un empeño digno de la reputación de la corte imperial.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/ObjectOrientedProgrammingGroup(["Object-Oriented Programming"]) python/ObjectOrientedProgrammingGroup -.-> python/constructor("Constructor") subgraph Lab Skills python/constructor -.-> lab-271534{{"Constructores de Python para Artefactos Imperiales"}} end

Clase de Python con Constructor

En este paso, crearás una clase de Python que representa un artefacto en la colección del palacio. Definirás un constructor para inicializar sus atributos, como nombre, edad y origen.

Abra un archivo de Python llamado artifact.py en el directorio ~/project con el siguiente contenido:

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

## Example usage
if __name__ == "__main__":
    jade_vase = Artifact("Jade Vase", 150, "China")
    print(f"Artefacto: {jade_vase.name}, Edad: {jade_vase.age}, Origen: {jade_vase.origin}")

La clase Artifact tiene un método __init__ que es un constructor en Python. Se llama automáticamente cuando se crea una nueva instancia de la clase. El parámetro self se refiere a la instancia actual de la clase y se utiliza para acceder a las variables que pertenecen a la clase.

Ejecute el script de Python ejecutando el siguiente comando en la terminal:

python ~/project/artifact.py

Debería ver la salida:

Artefacto: Jade Vase, Edad: 150, Origen: China

Agregando Métodos al Artefacto

Ahora, mejorémos la clase Artifact agregando métodos que permitan al eunuco mostrar y actualizar la información del artefacto. Crearemos un método para imprimir los detalles del artefacto y otro para actualizar su edad.

Modifique el archivo artifact.py para incluir los nuevos métodos:

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

    def display_info(self):
        print(f"Artefacto: {self.name}, Edad: {self.age}, Origen: {self.origin}")

    def update_age(self, new_age):
        if new_age >= 0:
            self.age = new_age
        else:
            print("Edad no válida. Ingrese un número positivo.")

## Example usage
if __name__ == "__main__":
    jade_vase = Artifact("Jade Vase", 150, "China")
    jade_vase.display_info()
    jade_vase.update_age(160)
    jade_vase.display_info()

El método display_info imprime los detalles de un artefacto. El método update_age permite actualizar el atributo de edad, asegurándose de que solo se establezcan números válidos y positivos.

Ejecute el script de Python actualizado ejecutando nuevamente el comando correspondiente en la terminal y observe la salida.

La siguiente información debe mostrarse en su terminal:

Artefacto: Jade Vase, Edad: 150, Origen: China
Artefacto: Jade Vase, Edad: 160, Origen: China

Resumen

En este laboratorio, tuviste una experiencia interactiva recorriendo los palacios de la antigua dinastía Ming, donde ayudaste a nuestro personaje a documentar artefactos utilizando constructores de Python. El principal enfoque fue entender el concepto de constructores en Python y cómo manipular los atributos de una clase a través de métodos.

Desde la creación de una clase y su constructor hasta la adición de métodos funcionales, adquiriste experiencia práctica. Aprendiste cómo instanciar objetos, inicializar sus atributos y manipular datos de objetos con métodos definidos por la clase, un conjunto de habilidades fundamentales para cualquier desarrollador de Python.

Esperamos que hayas comprendido la idea básica de los constructores de Python y cómo pueden ser herramientas poderosas para la encapsulación de datos y la programación orientada a objetos. Ahora, puedes avanzar y enfrentar retos de programación aún más complejos con la confianza de un Guardian de los Artículos de la corte imperial.