3_programacion orientada a objetos

 Sirve intérprete online de python 3, la consola de Python instalada(q se llama REPL) o Google Colab

Cuidado con la indentación

Ejemplo 1:

class Robot:

    # Atributo de Clase (Común a todos)

    especie = "Autómata Inteligente"

  • class Robot: Es el plano de la fábrica. Le estamos diciendo a Python: "Voy a crear un nuevo tipo de objeto llamado Robot".

  • especie = "Autómata Inteligente": Es una regla general. Todos los robots que salgan de este molde van a pertenecer a esta especie. No importa cómo los bautices, todos llevan esta característica de fábrica compartida.

  • def __init__(self, nombre, modelo, color):

            # Atributos de Instancia (Únicos)

            self.nombre = nombre

            self.modelo = modelo

            self.color = color

            self.bateria = 100

    Cuando le das a "Crear nuevo personaje", aparece una ventana para rellenar datos. Eso es el __init__ (el constructor).

    • self: Significa "este mismo" o "el propio". Cuando creas al robot, self es la etiqueta que le ponemos a ese robot en particular para no confundirlo con los demás.

    • Los datos únicos (nombre, modelo, color): Son las opciones que tú eliges al crearlo. A uno lo puedes llamar "Robín", modelo "X-5", de color "rosa pastel", y a otro "Bip", modelo "Z-9", de color "azul".

    • self.bateria = 100: Es un valor por defecto. No te pedimos que lo escribas al crearlo; por regla general, todos empiezan con la batería al 100%.


    def saludar(self):
            return f"¡Hola! Soy {self.nombre}"
    • Un objeto no solo tiene datos (como su color o nombre), sino también acciones que puede realizar.

    • saludar es una función dentro del robot (método). Cuando le dices a tu robot que salude, él mira su propio nombre (self.nombre) y te dice: "¡Hola! Soy Robín".

    En resumen:

    • La clase (Robot) es el creador de personajes.

    • Los atributos (nombre, color, batería) son las características de tu personaje.

    • Los métodos (saludar) son lo que tu personaje sabe hacer.


    Ejemplo completo:

    Hasta ahora solo hemos escrito el molde (la fábrica de robots), pero todavía no le hemos dicho a la fábrica que fabrique ninguno ni que los ponga a hablar. Es como tener la receta de un pastel pero sin meter los ingredientes en el horno todavía.

    Para que haga algo, necesitamos dar el siguiente paso: crear los objetos (las instancias) y llamar a sus acciones.


    class Robot:
        # Atributo de Clase (Común a todos)
        especie = "Autómata Inteligente"

        def __init__(self, nombre, modelo, color):
            # Atributos de Instancia (Únicos)
            self.nombre = nombre
            self.modelo = modelo
            self.color = color
            self.bateria = 100

        def saludar(self):
            return f"¡Hola! Soy {self.nombre}"


    # --- AQUÍ EMPEZAMOS A DARLE VIDA AL PROGRAMA ---

    # 1. Creamos nuestro primer robot (Instanciamos la clase)
    robot1 = Robot("Robín", "X-5", "rosa pastel")

    # 2. Creamos un segundo robot con otros datos
    robot2 = Robot("Bip", "Z-9", "azul eléctrico")

    # 3. Hacemos que hagan cosas y mostramos los resultados en pantalla con print()
    print(robot1.saludar())
    print(f"Mi color es {robot1.color} y mi especie es: {robot1.especie}")

    print("---")

    print(robot2.saludar())
    print(f"Mi color es {robot2.color} y mi batería está al {robot2.bateria}%.")

    ¿Qué acabamos de hacer?

    1. robot1 = Robot(...): Aquí es donde "compramos" un robot del molde y le pasamos sus datos reales (nombre, modelo, color).

    2. print(...): Le decimos a Python que imprima en la pantalla lo que devuelven las funciones o los datos de nuestros robots.

    3. return f"¡Hola! Soy {self.nombre}"

    la f le avisa a Python: "Oye, dentro de este texto vas a encontrar llaves {} con variables adentro, por favor reemplázalas por su valor real".

    Sin la f (Forma + antigua ): Tendrías que sumar textos y variables con un signo + así:

    return "¡Hola! Soy " + self.nombre

    1. Los atributos de clase (como especie) o los atributos de instancia (como color o batería)
    no son obligatorios en el sentido de que Python te obligue a ponerlos.
    Tú decides qué características quieres que tenga tu molde.
    1. Se llama __init__ porque viene de la palabra "inicializar"
    2. (o initialize en inglés).

    ¡Prueba a copiarlo y ejecutarlo en Colab para ver cómo cobra vida!




    Entradas populares de este blog

    BLOQUE 5_Páginas de IA generativa de video (gratis y sin pagar) para 4º ESO IA artificial_Inteligencia artificial

    GrÁfico de lineas, google colab o jupyter ,GRÁFICO DE DISPERSIÓN Y DETECCIÓN DE PROFUNDIDAD, NOTEBOOK, PÍDELE A TU IA FAVORITA,