Создание класса BetterDate
Вы разрабатываете пакет для работы с временными рядами и хотите определить собственный класс для работы с датами — BetterDate.
Атрибутами класса будут year, month и day. Вам нужен конструктор, который создаёт объекты BetterDate по значениям года, месяца и дня, а также возможность создавать объекты BetterDate из строк, например 2021-04-30.
Это упражнение является частью курса
Введение в объектно-ориентированное программирование на Python
Инструкции к упражнению
- Определите метод класса
from_str(), указав обязательный специальный аргумент и ещё один аргумент —datestr. - Разбейте строку
datestrпо символу дефиса"-"и сохраните результат в переменнуюparts. - Верните
year,monthиdayв указанном порядке, используя ключевое слово, которое также вызовет__init__(). - Создайте переменную
xmas, используя метод.from_str()класса и передав строку"2024-12-25".
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
class BetterDate:
def __init__(self, year, month, day):
self.year, self.month, self.day = year, month, day
# Define a class method from_str
____
____
# Split the string at "-"
parts = datestr.____("____")
year, month, day = int(parts[0]), int(parts[1]), int(parts[2])
# Return the class instance
____ ____(____, ____, ____)
# Create the xmas object
xmas = ____.____("____")
print(xmas.year)
print(xmas.month)
print(xmas.day)