Курс Python → Изменение логики работы с временем
В Python 3.5 и более поздних версиях это поведение было изменено, и теперь полуночное время datetime.time объекта считается True. Это означает, что при использовании конструкции if obj: для проверки наличия данных в объекте, полуночное время будет рассматриваться как заполненное значение, а не как пустое.
Это изменение в логике работы с логическими значениями datetime.time объектов может привести к непредвиденным ошибкам в коде, который рассчитывает на старое поведение. Чтобы избежать подобных проблем, необходимо учитывать этот факт при написании условий и проверок в коде, особенно если в них используются объекты времени.
import datetime
time = datetime.time(0, 0) # полуночное время
if time:
print("Полуночное время считается заполненным")
else:
print("Полуночное время считается пустым")
В данном примере мы создаем объект времени, представляющий полночь, и затем проверяем его наличие с помощью конструкции if. В Python 3.5 и более поздних версиях вывод программы будет «Полуночное время считается заполненным», что отражает изменение в логике работы с логическими значениями для временных объектов.
Другие уроки курса "Python"
- Определение наиболее частого элемента с помощью collections.Counter
- Метод join() для объединения элементов строки
- Работа с датой и временем в Python
- Класс Counter() для подсчета элементов
- Метод lt для сортировки объектов
- Основные операции с Numpy
- Форматирование строк с f-строками
- Курсы Яндекс Практикум
- Работа с collections в Python
- Оператор in и not in в Python
- История Python
- Генераторы по генератору
- Сравнение строк в Python
- Генераторы словарей и множеств
- Оператор «or» в Python
- Использование type hints
- Использование defaultdict в Python
- Переименование файлов в Python
- Декораторы в Python
- Переопределение метода __rshift__
- Оператор распаковки в Python
- Оператор match в Python
- Создание функций с произвольным количеством аргументов
- Бинарный поиск
- Добавление цвета в консоли
- Операторы сравнения в Python
- Распаковка аргументов в Python
- Удаление элемента из списка в Python
- JMESPath в Python
- Модуль Antigravity в Python 3
- Применение промокода в Много лосося
- Форматирование строк в Python
- Форматирование чисел в Python
- Декораторы в Python
- Определение объема памяти объекта
- Сравнение def и lambda функций в Python
- Переопределение метода sub
- Списковые включения в Python
- Очистка данных с помощью pandas
- Тест скорости набора текста на Python
- Резервирование символов в Python
- Генерация ключей RSA
- Работа с контекстным менеджером Pool
- Оператор walrus в Python
- Логирование с Loguru
- Чтение и запись TOML-конфигов















