Курс 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"

  1. Генерация QR-кодов с Python
  2. Работа с временем в Python
  3. Возврат нескольких значений
  4. Удаление файлов и папок в Python
  5. Создание панели меню Tkinter
  6. Модуль future Python
  7. Управление фоновыми задачами в Python
  8. Принципы программирования
  9. Обработка ошибок в JSON данных
  10. Использование super() в Python
  11. Основы слова
  12. Удаление символа из строки
  13. Работа с асинхронными задачами в Python
  14. Инвертирование словаря
  15. Фильтрация списка чисел
  16. Создание новых списков
  17. Импортирование в Python
  18. Работа с deque в Python
  19. Создание класса в Python
  20. Принципы LSP и ISP в Python
  21. Проверка подстроки в строке
  22. Глобальные переменные в Python
  23. Описание скриптов в README
  24. Установка Git и AWS CLI
  25. Удаление ссылок в Python
  26. Модуль subprocess: запуск внешних команд
  27. Скрытие вывода данных
  28. Область видимости переменных
  29. Значения по умолчанию в Python
  30. GitHub в Telegram: подписка на уведомления
  31. Лямбда-функции в Python
  32. Работа с изображениями PIL
  33. Множественные конструкторы в Python
  34. Создание namedtuple из словаря
  35. Работа с срезами в Numpy
  36. Присвоение значений переменным в Python
  37. Доступ к локальным переменным
  38. Функция product() из itertools
  39. Логирование с Logzero: ротация файла
  40. Работа с итераторами в Python
  41. Defaultdict в Python
  42. Поток данных в Python
  43. Работа с кортежами в Python

Marketello читают маркетологи из крутых компаний