Курс 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. Установка Python3.7 и PIP
  3. Объединение словарей в Python
  4. Enum в Python
  5. Построение графиков в Matplotlib
  6. Работа с библиотекой xkcd
  7. Модуль os в Python: работа с файлами
  8. Фильтрация последовательности
  9. Справка по импортированным модулям
  10. Вызов функций по строке в Python.
  11. Генераторы в Python
  12. Создание словарей с defaultdict()
  13. Управление памятью в Python
  14. Генераторы в Python
  15. Пропуск начальных строк с помощью dropwhile()
  16. Форматирование строк в Python
  17. Функции с необязательными аргументами
  18. Распаковка элементов массива
  19. Получение списка кортежей из словаря
  20. Измерение времени выполнения кода в Python
  21. Измерение времени выполнения
  22. Работа с файлами в Python
  23. Кортеж в Python: создание и использование
  24. Методы работы со строками в Python
  25. Строки в Python: апострофы и кавычки
  26. Распаковка значений в Python
  27. Преобразование объекта в строку
  28. Работа с итераторами в Python
  29. Шаблоны и наследование в Flask
  30. Lambda-функция в Python: использование с map() и sum()
  31. Импорт в Python: список all
  32. Управление IP-адресами через прокси
  33. Поиск уникальных элементов строкой в Python
  34. Преобразование числа в список цифр
  35. Проверка кортежей.
  36. %pinfo: получение информации об объекте
  37. Удаление специальных символов
  38. Проверка подстроки в строке
  39. Модуль xkcd: загрузка комиксов
  40. Выражения-генераторы в Python
  41. Обработка исключений в Python
  42. Декодирование байтов в строку
  43. Тип данных TypeVarTuple
  44. Именованные кортежи в Python
  45. Пропуск строк в файле с itertools
  46. Тестирование времени с Freezegun
  47. Логирование в Python
  48. Работа с JSON в Python
  49. Инициализация структур данных

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