Курс 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. Избегайте пустого списка
  2. Функция с **kwargs в Python
  3. Создание виртуальной среды
  4. Установка максимального количества цифр
  5. Блок else в циклах Python
  6. Поиск всех индексов подстроки
  7. Форматирование объектов с модулем pprint
  8. Модуль pprint
  9. Назначение максимального и минимального значения переменной в Python.
  10. Мониторинг работы программы Py-spy
  11. Встроенные функции Python
  12. Удаление элементов по срезу
  13. Преобразование чисел в Python
  14. Многострочные комментарии в Python
  15. Работа с IP-адресами в Python
  16. Работа с географическими данными в Python
  17. Асинхронное программирование с asyncio
  18. Monkey Patching в Python
  19. Оператор break в Python
  20. Метод __getitem__ в Python
  21. Оператор in в Python
  22. Работа с JSON в Python
  23. Тайное преобразование типа ключа
  24. Избегание циклических зависимостей классов в Python
  25. Раздувающийся словарь в Python
  26. Метод __imod__ для Python
  27. Красивый вывод списка
  28. Создание и обучение модели с Keras
  29. Работа с модулем random
  30. Изменение элемента списка
  31. Настройка логгера Logzero
  32. Замена элементов в списке с помощью генераторов списков
  33. Инверсия списков и строк в Python
  34. Работа с асинхронными задачами в Python
  35. Функция zip() в Python
  36. Метод count в Python: почему count(», ») возвращает 4?
  37. Удаление дубликатов с помощью множеств
  38. Счетчик в Python: most_common()
  39. Метод setitem в Python
  40. Получение локальных переменных в Python

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