¿Cómo modelo una clase en Python?


Usamos la palabra reservada class.


class Alumno:
    pass


Esto define una clase llamada Alumno.

Notese que para definir las clases tengo las mismas reglas que para las variables, pero por convención se escriben en mayuscula y estilo CamelCase.

Agregando los atributos


Los atributos son las propiedades que tiene un objeto.

class Alumno:
    def __init__(self, nombre, edad, curso, promedio):
        self.nombre = nombre
        self.edad = edad
        self.curso = curso
        self.promedio = promedio


Esto define una clase llamada Alumno con cuatro atributos: nombre, edad, curso y promedio.

Instanciando un objeto


Para crear un objeto a partir de una clase, usamos la siguiente sintaxis:

alumno1 = Alumno("Juan", 20, "6º2º", 8.5)


Si yo quiero acceder a los atributos de un objeto, hago lo siguiente:

print(alumno1.nombre)
print(alumno1.edad)
print(alumno1.curso)
print(alumno1.promedio)


Agregando métodos


Los métodos son las funciones que tiene un objeto.

class Alumno:
    def __init__(self, nombre, edad, curso, promedio):
        self.nombre = nombre
        self.edad = edad
        self.curso = curso
        self.promedio = promedio

    def mostrar_info(self):
        print(f"Nombre: {self.nombre}")
        print(f"Edad: {self.edad}")
        print(f"Curso: {self.curso}")
        print(f"Promedio: {self.promedio}")
    
    def aprobar(self):
        if self.promedio >= 6:
            print(f"{self.nombre} aprobó")
        else:
            print(f"{self.nombre} no aprobó")


¿Cómo llamo a los métodos?


alumno1.mostrar_info()
alumno1.aprobar()


¿En qué se diferencia este metodo de una función?

La diferencia es que los métodos tienen acceso a los atributos del objeto.

¿Qué es __init__?


El método __init__ es un método especial que se ejecuta cuando se crea un objeto a partir de una clase.

Es el constructor de la clase.

¿Qué es self?


self es una referencia al objeto que se está creando.

Actividades


  1. Elegí una de las clases que diseñaste en la actividad anterior y creala en python.

La clase deberá tener:

  • al menos 4 atributos
  • al menos 3 métodos
  1. A partir de la clase creada, generar al menos 3 objetos diferentes.

  2. Implementá los 3 métodos que definiste para tu clase.

  • Al menos uno de ellos deberá utilizar información almacenada en los atributos del objeto.