Курс 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. Удаление символов новой строки в Python.
  3. Работа с deque из collections
  4. Работа с файлами и директориями в Python.
  5. Создание виртуальной среды
  6. Переменные в Python
  7. Подсказки при вводе данных в Python
  8. Поиск индекса элемента
  9. Codecademy в Telegram
  10. Переменная с нижним подчеркиванием
  11. Комментарии в Python
  12. Функция reduce() в Python
  13. Вывод баннеров
  14. Обработка исключения UnboundLocalError
  15. Оператор объединения словарей
  16. Сортировка данных в Python
  17. Метод setdefault() в Python
  18. Оценка точности модели
  19. Оператор in для Python
  20. Сортировка и обратный порядок
  21. Перехват исключений в Python
  22. Метод join для наборов
  23. Методы обработки строк в Python
  24. Переименование файлов в Python
  25. Форматирование чисел в Python
  26. Оптимизация создания строк
  27. Измерение времени выполнения кода в Python
  28. Экранирование символов в Python
  29. Установка и обучение ChatterBot
  30. Преобразование чисел в восьмеричную строку
  31. Ускорение кода с помощью векторизации
  32. Область видимости переменных
  33. Сокращение ссылок с pyshorteners
  34. Логирование в Python
  35. Модуль functools в Python
  36. Функциональное программирование.
  37. Декораторы классов
  38. Обмен данными с asyncio.Queue
  39. Преобразование в float
  40. Метод matmul для умножения матриц
  41. Объединение словарей в Python
  42. Метод count в Python: почему count(», ») возвращает 4?
  43. Копирование списков в Python
  44. Конкатенация строк в Python
  45. Разработка Telegram-ботов

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