como-usar-objetos-python

Qué son y cómo usar objetos en Python

La Programación Orientada a Objetos es un paradigma de programación que se basa en el concepto de “objetos”.

Estos son agrupaciones que representan entidades del mundo real con sus propias características (atributos) y comportamientos (métodos).

En POO, los objetos interactúan entre sí a través de mensajes, lo que permite modelar de manera más natural los sistemas complejos.

Si quieres aprender más sobre programación orientada a objetos, de dejo el enlace al Curso de Programación orientada a objetos.

Definición de una clase en Python

En Python, las clases se definen con la palabra clave class seguida del nombre de la clase y dos puntos (:).

Una clase es una plantilla o un “molde” para crear objetos. Define las propiedades y comportamientos que tendrán los objetos que se creen a partir de ella.

class Persona:
    def __init__(self, nombre, edad):
        self.nombre = nombre
        self.edad = edad

    def saludar(self):
        print(f"Hola, mi nombre es {self.nombre} y tengo {self.edad} años.")
  • El método __init__ es un método especial llamado “constructor”, que se ejecuta automáticamente al crear un nuevo objeto de la clase. Aquí inicializamos los atributos nombre y edad.
  • El método saludar es un método de instancia que muestra un saludo con el nombre y edad de la persona.

Los atributos son variables que pertenecen a un objeto y que representan sus características o propiedades. Pueden ser de cualquier tipo de dato (como números, cadenas, listas, etc).

En el ejemplo anterior, nombre y edad son atributos del objeto persona.

Los métodos son funciones que pertenecen a un objeto y que pueden operar sobre sus atributos (pueden realizar operaciones como modificar los valores de los atributos, o interactuar con otros objetos).

En el ejemplo, saludar es un método del objeto persona.

Creación de instancias

Una instancia es cada uno de los “ejemplares” que creamos a partir de una clase. Cada instancia tendrá sus tiene sus propios valores para los atributos definidos en la clase.

Para crear un objeto a partir de una clase, simplemente se llama al nombre de la clase seguido de paréntesis.

Por ejemplo, una vez que tenemos la clase Persona, podemos crear instancias de esta clase así,

luis = Persona("Luis", 30)

En este caso, hemos creado un objeto luis a partir de la clase Persona, con los valores “Luis” para el atributo nombre y 30 para el atributo edad.

Acceso a atributo y métodos

Para acceder tanto a los atributos o métodos de una instancia, simplemente usamos el operador de acceso . sobre la variable que contiene la instancia.

Por ejemplo así,

luis = Persona("Luis", 30)
ana = Persona("Ana", 25)

luis.edad = 35;  # Cambiamos edad de Luis a 35
ana.edad = 28;   # Cambiamos edad de ana a 28

luis.saludar()  # Salida: Hola, mi nombre es Luis y tengo 35 años.
ana.saludar()   # Salida: Hola, mi nombre es Ana y tengo 28 años.