Курс 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. Принципы LSP и ISP в Python
  3. Использование подчеркивания в REPL
  4. Заказ карты Тинькофф Black
  5. Lambda-функция в Python: использование с map() и sum()
  6. Декодирование строк в Python
  7. Профилирование данных с Pandas.
  8. Основы работы со списками
  9. Метод сравнения объектов в Python
  10. Преобразование данных в Python
  11. Оценка выражений генератора в Python
  12. Основные методы NumPy
  13. Сравнение неупорядоченных списков
  14. Тестирование с unittest
  15. Объединение списков в Python.
  16. Навыки Python: строки, типы данных
  17. Разделение строки на подстроки в Python
  18. Работа со строками в Python.
  19. Введение в Python
  20. Генераторы списков в Python
  21. Создание новых функций через partial
  22. Методы обработки строк в Python
  23. Работа с областями видимости переменных
  24. Путь к интерпретатору Python
  25. Использование функции enumerate()
  26. Импорт с альтернативным именем
  27. Модуль os: работа с файлами и папками
  28. Инверсия списка/строки в Python
  29. Сортировка элементов с OrderedDict
  30. Фильтрация списков с itertools
  31. Работа с zip-архивами в Python
  32. Переменные в Python: сокращение гласных
  33. Замена атрибута в именованном кортеже
  34. Генерация фальшивых данных с Faker
  35. Упрощенный вывод данных в Python
  36. Структура строк в Python
  37. discard() — удаление элемента из множества
  38. Приоритет операций в Python
  39. Обработка ошибок в Python
  40. Управление памятью в numpy.
  41. Отделение звука от видео
  42. Модуль Operator в Python
  43. Деление в Python
  44. Непрерывная проверка в Python
  45. Оператор del в Python
  46. Транспонирование 2D-массива с помощью zip
  47. Установка и использование модуля «howdoi»

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