ComenzarEmpieza gratis

Añadir un constructor alternativo

Los métodos de clase son una forma estupenda de permitir una forma alternativa de crear un objeto a partir de una clase, como por ejemplo mediante un archivo o aceptando información diferente y realizando una tarea durante la construcción para devolver los atributos necesarios.

En este ejercicio, trabajarás con la clase Person. El constructor espera un nombre y una edad durante la inicialización. Añadirás un método de clase que permita la inicialización proporcionando el nombre y el año de nacimiento, donde el método calculará entonces la edad a partir del año de nacimiento.

Este ejercicio forma parte del curso

Introducción a la Programación Orientada a Objetos en Python

Ver curso

Instrucciones de ejercicio

  • Añade un decorador de métodos de clase.
  • Define el método de la clase from_birth_year(), que acepta tres argumentos: la palabra convencional utilizada como argumento especial referido a la clase, name, y birth_year.
  • Dentro del método, crea la variable age calculando la diferencia entre el atributo de clase CURRENT_YEAR y birth_year.
  • Devuelve los atributos name y age de la clase.

Ejercicio interactivo práctico

Pruebe este ejercicio completando este código de muestra.

class Person:
  CURRENT_YEAR = 2024
  def __init__(self, name, age):
    self.name = name
    self.age = age
  
  # Add a class method decorator
  ____
  # Define the from_birth_year method
  def ____(____, ____, ____):
    # Create age
    age = ____.____ - ____
    # Return the name and age
    return ____(____, ____)

bob = Person.from_birth_year("Bob", 1990)
Editar y ejecutar código