Skip to content

Решение восьмого практического задания:#10

Open
SergeyZ06 wants to merge 6 commits intomainfrom
8th_hometask
Open

Решение восьмого практического задания:#10
SergeyZ06 wants to merge 6 commits intomainfrom
8th_hometask

Conversation

@SergeyZ06
Copy link
Copy Markdown
Owner

добавлено решение первого пункта задания

добавлено решение первого пункта задания
добавлено решение второго пункта задания
добавлено решение третьего пункта задания
добавлено решение седьмого пункта задания
добавлено решение четвёртого, пятого, шестого пунктов задания
Comment on lines +76 to +83
# Создать объект класса Дата
new_date = Date(f'{randint(1, 30):02}-{randint(1, 12):02}-{randint(1900, 2100)}')
# Отобразить содержимое объекта
print(new_date.str_date)
# Отобразить результат рабты метода Преобразования
print(Date.date_to_numeric(new_date.str_date))
# Вызвать метод Проверки даты
Date.date_validation(new_date.str_date)
Copy link
Copy Markdown

@NicknameSoHard NicknameSoHard Jan 30, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Еще для большего удобства я бы предложил дату отправлять в конструктор, а эти методы вызывать из него - или инициализировали объект, или вывалились с ошибкой, например. Тогда получится что у вас есть объект с точно валидной цифровой датой, которым вы можете дальше управлять. Будет поудобнее)

Заодно вы избежите повторов вызовов и повторов одних и тех же действий. (Сейчас date_to_numeric например вы вызываете специально для валидации - что по-сути лишний раз преобразования запускает)

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Готово, переделал
А как-то можно удалить объект при вызове конструктора?

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Объект сам удалится когда на него перестанут ссылаться - вам не нужно об этом думать. А так через оператор del можно удалять объекты любые

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ага, это понятно
Задумка в следующем:
Сейчас, если пользователь создаёт объект класса Дата с некорректными данными, то объект создаётся и в его атрибут записывается ссылка на None, как признак, что объект создан некорректно/с ошибкой.
Хотел бы вместо этого просто удалять объект класса Дата с некорректными данными.
Нагуглил один способ, как можно в классе получить имена создаваемых объектов, чтоб их удалить, но там совсем что-то ужасное в плане кода и не только.

переделано решение первого пункта задания. Теперь содержимое объекта Дата проверяется в конструкторе. Дополнительный вызов методов проверки не требуется.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants