Курс 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. Объединение коллекций в Python
  3. Генераторы в Python
  4. Подсчет часто встречающихся элементов
  5. Работа с контекстными менеджерами
  6. Инверсия списков и строк в Python
  7. Сложение матриц в NumPy
  8. Экспорт данных с помощью writefile
  9. Функция __init__ в Python
  10. Оптимизация сравнения в Python
  11. Проверка класса объекта
  12. Обмен значений переменных в Python
  13. JMESPath в Python
  14. Генерация случайных чисел в Python
  15. Изменение списка срезом
  16. Переворот строки с использованием цикла
  17. Частичное совпадение пользовательского ввода в Python 3.10
  18. Безопасный доступ к значениям словаря
  19. Метод ifloordiv для пользовательских классов
  20. Метод __iand__ для пользовательских классов
  21. Множественное присваивание в Python
  22. Тестирование функции сложения
  23. Вызов функций по строке в Python.
  24. Вычисление времени выполнения
  25. Раздувающийся словарь в Python
  26. Flask: создание веб-приложений
  27. Обратный список чисел
  28. Декоратор Ajax required
  29. Открытие и редактирование скриптов Python
  30. Тестирование модели в PyTorch
  31. Форматирование данных с pprint
  32. Python Метод del.
  33. Именованные кортежи в Python
  34. Создание файла с проверкой ошибки
  35. Проблемы с dict в Python
  36. Игра «Виселица» на Python
  37. Работа с пользовательским вводом
  38. Оператор деления для класса Rational
  39. Работа с модулем Calendar
  40. Оператор is в Python
  41. Python reversed() функция
  42. Работа с NumPy.linalg

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