Začněte nyníZačněte zdarma

Přidání alternativního konstruktoru

Metody třídy jsou skvělým způsobem, jak umožnit alternativní vytvoření objektu z třídy – například ze souboru nebo přijetím jiných vstupních dat, na jejichž základě metoda vypočítá potřebné atributy.

V tomto cvičení budeš pracovat s třídou Person. Konstruktor při inicializaci očekává jméno a věk. Přidáš metodu třídy, která umožní inicializaci pomocí jména a roku narození – metoda pak věk z roku narození sama vypočítá.

Toto cvičení je součástí kurzu

Úvod do objektově orientovaného programování v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Přidej dekorátor metody třídy.
  • Definuj metodu třídy from_birth_year(), která přijímá tři argumenty: konvenční klíčové slovo používané jako speciální argument odkazující na třídu, name a birth_year.
  • Uvnitř metody vytvoř proměnnou age jako rozdíl atributu třídy CURRENT_YEAR a hodnoty birth_year.
  • Vrať atributy name a age třídy.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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)
Upravit a spustit kód