Курс 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"
- Генерация QR-кодов с Python
- Работа с временем в Python
- Возврат нескольких значений
- Удаление файлов и папок в Python
- Создание панели меню Tkinter
- Модуль future Python
- Управление фоновыми задачами в Python
- Принципы программирования
- Обработка ошибок в JSON данных
- Использование super() в Python
- Основы слова
- Удаление символа из строки
- Работа с асинхронными задачами в Python
- Инвертирование словаря
- Фильтрация списка чисел
- Создание новых списков
- Импортирование в Python
- Работа с deque в Python
- Создание класса в Python
- Принципы LSP и ISP в Python
- Проверка подстроки в строке
- Глобальные переменные в Python
- Описание скриптов в README
- Установка Git и AWS CLI
- Удаление ссылок в Python
- Модуль subprocess: запуск внешних команд
- Скрытие вывода данных
- Область видимости переменных
- Значения по умолчанию в Python
- GitHub в Telegram: подписка на уведомления
- Лямбда-функции в Python
- Работа с изображениями PIL
- Множественные конструкторы в Python
- Создание namedtuple из словаря
- Работа с срезами в Numpy
- Присвоение значений переменным в Python
- Доступ к локальным переменным
- Функция product() из itertools
- Логирование с Logzero: ротация файла
- Работа с итераторами в Python
- Defaultdict в Python
- Поток данных в Python
- Работа с кортежами в Python















