Курс 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. Counter() — подсчет элементов
  2. Python: изменяемые и неизменяемые коллекции
  3. Метод split() для разделения строк
  4. Работа с SQLite в Python
  5. Строки в Python: апострофы и кавычки
  6. Форматирование строк в Python
  7. Деление в Python
  8. Генераторные выражения и islice.
  9. Список импортированных модулей в Python
  10. Функция rsplit() в Python
  11. Перевод двоичного кода в целое число
  12. Подсчет элементов в Python
  13. Капитализация строк
  14. Обработка исключений в Python
  15. ROT13 Шифр Цезаря в Python
  16. Функция zip() в Python
  17. Работа с атрибутом dict
  18. Метод get для словарей
  19. Работа с файлами в Python
  20. Метод __index__ в Python
  21. Работа с изображениями Pillow
  22. Глобальные переменные в Python
  23. Обновление ключей в Python
  24. Подсчет элементов в списке с Counter
  25. Тип CodeType в Python.
  26. Форматирование данных с pprint
  27. Управление контекстом с помощью декоратора contextmanager
  28. Декораторы с аргументами
  29. Переименование файлов в Python
  30. Метод add для класса Vector
  31. Метод pop() списка
  32. Функции map, filter и reduce
  33. Объединение списков с помощью zip
  34. Установка и использование Logzero
  35. Работа с буфером обмена на Python
  36. Управление фоновыми задачами в Python
  37. Создание GUI на Tkinter
  38. Преобразование букв в нижний регистр
  39. Работа с файлами в Python
  40. Удаление специальных символов с помощью re.sub
  41. Установка и использование библиотеки google
  42. Работа с пользовательским вводом
  43. Форматирование заголовков в Python
  44. Логирование с Logzero: ротация файла

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