-
Notifications
You must be signed in to change notification settings - Fork 0
Решение восьмого практического задания: #10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
добавлено решение первого пункта задания
добавлено решение второго пункта задания
добавлено решение третьего пункта задания
добавлено решение седьмого пункта задания
добавлено решение четвёртого, пятого, шестого пунктов задания
8th hometask/1th task.py
Outdated
| # Создать объект класса Дата | ||
| 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) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Еще для большего удобства я бы предложил дату отправлять в конструктор, а эти методы вызывать из него - или инициализировали объект, или вывалились с ошибкой, например. Тогда получится что у вас есть объект с точно валидной цифровой датой, которым вы можете дальше управлять. Будет поудобнее)
Заодно вы избежите повторов вызовов и повторов одних и тех же действий. (Сейчас date_to_numeric например вы вызываете специально для валидации - что по-сути лишний раз преобразования запускает)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Готово, переделал
А как-то можно удалить объект при вызове конструктора?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Объект сам удалится когда на него перестанут ссылаться - вам не нужно об этом думать. А так через оператор del можно удалять объекты любые
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ага, это понятно
Задумка в следующем:
Сейчас, если пользователь создаёт объект класса Дата с некорректными данными, то объект создаётся и в его атрибут записывается ссылка на None, как признак, что объект создан некорректно/с ошибкой.
Хотел бы вместо этого просто удалять объект класса Дата с некорректными данными.
Нагуглил один способ, как можно в классе получить имена создаваемых объектов, чтоб их удалить, но там совсем что-то ужасное в плане кода и не только.
переделано решение первого пункта задания. Теперь содержимое объекта Дата проверяется в конструкторе. Дополнительный вызов методов проверки не требуется.
добавлено решение первого пункта задания