Курс 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. Функция reduce() из модуля functools
  2. Генераторы в Python
  3. Курс Data Scientist в медицине
  4. Методы shutil для работы с файлами
  5. Оптимизация методов в Python 3.7
  6. Объединение списков в Python
  7. Исправление ошибки NameError
  8. Генераторные функции в Python
  9. Сортировка и разворот списка
  10. Множества и frozenset
  11. Извлечение аудио из видео
  12. Тестирование с unittest
  13. Хранение данных
  14. Замеры производительности в Python
  15. Использование html-скриптов в Jupyter Notebook
  16. Повторение и перенос строки
  17. Списковое включение в Python
  18. Метод split() в Python
  19. Фильтрация элементов с помощью islice
  20. Многострочные комментарии в Python
  21. Преобразование вложенного списка
  22. Взаимодействие с sys
  23. Разработка Telegram-ботов
  24. Генераторы в Python
  25. Обработка ошибки IndexError
  26. Замыкания в Python
  27. Работа с датой и временем в Python
  28. Парсинг веб-страниц с Beautiful Soup
  29. Справка по импортированным модулям
  30. Контекстный менеджер в Python
  31. Изменение логики работы с временем
  32. inspect в Python: анализ кода
  33. Проблемы с именами переменных
  34. Условные выражения в Python
  35. Использование функции product
  36. Частичное применение функций в Python
  37. Сравнение строк в Python
  38. Стать Python-разработчиком
  39. globals и locals
  40. Реверс строки в Python
  41. Переименование файлов в Python
  42. Выражения-генераторы в Python
  43. Оптимизация создания строк
  44. Модуль pprint: улучшение вывода данных
  45. Оценка точности модели
  46. Удаление первого элемента списка
  47. Создание OrderedDict
  48. Метод __irshift__ для побитового сдвига вправо

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