Zacznij terazZacznij za darmo

Dodawanie alternatywnego konstruktora

Metody klasowe to świetny sposób na umożliwienie tworzenia obiektów z klasy w alternatywny sposób – na przykład na podstawie pliku lub innych danych wejściowych, z których metoda oblicza potrzebne atrybuty.

W tym ćwiczeniu pracujesz z klasą Person. Konstruktor oczekuje nazwy i wieku podczas inicjalizacji. Dodasz metodę klasową, która umożliwi inicjalizację na podstawie imienia i roku urodzenia – metoda samodzielnie obliczy wiek na podstawie podanego roku.

To ćwiczenie jest częścią kursu

Wprowadzenie do programowania obiektowego w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Dodaj dekorator metody klasowej.
  • Zdefiniuj metodę klasową from_birth_year(), która przyjmuje trzy argumenty: konwencjonalne słowo używane jako specjalny argument odwołujący się do klasy, name oraz birth_year.
  • Wewnątrz metody utwórz zmienną age, obliczając różnicę między atrybutem klasowym CURRENT_YEAR a birth_year.
  • Zwróć atrybuty name i age klasy.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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)
Edytuj i uruchom kod