Курс 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. Работа с deque из collections
  2. Проверка условий: all и any
  3. Создание списков в Python
  4. Комментарии в Python
  5. Создание namedtuple из словаря
  6. Оформление текста в консоли с TermColor
  7. Функции классификации комплексных чисел
  8. Создание словарей в Python
  9. Упрощение работы с JSON-данными в Python
  10. Генерация случайных данных в NumPy
  11. Метод join() для объединения строк
  12. Преобразование многоуровневого словаря
  13. Работа с argparse
  14. Декораторы в Python
  15. Управление памятью в numpy.
  16. Нарезка списков в Python
  17. Работа со строками в Python.
  18. Форматирование строк в Python.
  19. Создание виртуальной среды
  20. Декораторы с @wraps
  21. Lambda-функция в Python: использование с map() и sum()
  22. Вложенные функции в Python
  23. Работа с временем в Python
  24. Работа с набором данных CIFAR10 в PyTorch
  25. Метод ipow для возведения в степень
  26. Сортировка и разворот списка
  27. Метод join() для объединения элементов
  28. Аннотации типов в Python
  29. Форматирование строк в Python
  30. Сравнение неупорядоченных списков
  31. Декоратор Ajax required
  32. Декораторы в Python
  33. Импорт в Python: список all
  34. Тестирование времени с Freezegun
  35. Оценка точности модели
  36. Наследование в программировании
  37. Разделение строк методом split()
  38. Работа с необработанными строками
  39. Работа со строками в Python
  40. Monkey Patching в Python
  41. Фильтрация списка чисел
  42. Измерение времени выполнения кода
  43. Оператор continue в Python

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