Курс 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. Работа с очередями в Python
  2. Класс UserDict: дополнительная функциональность
  3. Проблемы с именами переменных
  4. Создание обратного итератора
  5. Перевод двоичного кода в целое число
  6. Основы работы со строками в Python
  7. Обход элементов в Python
  8. Создание .exe файла с pyinstaller
  9. Преобразование вложенного списка
  10. Комментарии в Python
  11. Работа с исключениями в Python
  12. Работа с контекстным менеджером Pool
  13. Переворот строки с использованием цикла
  14. Создание словаря и множества
  15. Оценка выражений генератора в Python
  16. Получение значений из словарей
  17. Работа с парами ключ-значение
  18. Логические операторы в Python
  19. PUT запрос для обновления данных
  20. Работа со словарями с defaultdict из collections
  21. Оптимизация памяти с slots
  22. Вычисление натурального логарифма в NumPy
  23. Создание уникального проекта
  24. Подсчет элементов с помощью Counter из collections
  25. Библиотека Rich: форматирование текста
  26. Разница между датами
  27. Поиск с помощью регулярных выражений
  28. Функции в одну строку
  29. Многострочные строки в Python
  30. Многоточие в Python
  31. Извлечение чисел из текста
  32. Работа с путями в Python
  33. Обработка исключений в Python
  34. split() — разделение строки
  35. Объединение списков в строку
  36. Блок else в обработке исключений
  37. Экспорт функций в Python
  38. Комплексные числа в Python
  39. Создание треугольника Паскаля
  40. Поиск уникальных элементов строкой в Python
  41. Принципы Zen of Python
  42. Генераторы списков в Python
  43. Функция map() в Python
  44. Расчет времени выполнения
  45. Применение функции map() с лямбда-функциями
  46. Функции all() и any() в Python

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