Курс 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. Определение наиболее частого элемента с помощью collections.Counter
  2. Метод join() для объединения элементов строки
  3. Работа с датой и временем в Python
  4. Класс Counter() для подсчета элементов
  5. Метод lt для сортировки объектов
  6. Основные операции с Numpy
  7. Форматирование строк с f-строками
  8. Курсы Яндекс Практикум
  9. Работа с collections в Python
  10. Оператор in и not in в Python
  11. История Python
  12. Генераторы по генератору
  13. Сравнение строк в Python
  14. Генераторы словарей и множеств
  15. Оператор «or» в Python
  16. Использование type hints
  17. Использование defaultdict в Python
  18. Переименование файлов в Python
  19. Декораторы в Python
  20. Переопределение метода __rshift__
  21. Оператор распаковки в Python
  22. Оператор match в Python
  23. Создание функций с произвольным количеством аргументов
  24. Бинарный поиск
  25. Добавление цвета в консоли
  26. Операторы сравнения в Python
  27. Распаковка аргументов в Python
  28. Удаление элемента из списка в Python
  29. JMESPath в Python
  30. Модуль Antigravity в Python 3
  31. Применение промокода в Много лосося
  32. Форматирование строк в Python
  33. Форматирование чисел в Python
  34. Декораторы в Python
  35. Определение объема памяти объекта
  36. Сравнение def и lambda функций в Python
  37. Переопределение метода sub
  38. Списковые включения в Python
  39. Очистка данных с помощью pandas
  40. Тест скорости набора текста на Python
  41. Резервирование символов в Python
  42. Генерация ключей RSA
  43. Работа с контекстным менеджером Pool
  44. Оператор walrus в Python
  45. Логирование с Loguru
  46. Чтение и запись TOML-конфигов

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