Курс 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. Метод get для словаря
  3. Непрерывная проверка в Python
  4. Взаимодействие с sys
  5. Проверка переменных окружения в Python
  6. Функции-генераторы в Python
  7. Метод setdefault() в Python
  8. Форматирование чисел в Python
  9. Модуль future Python
  10. Создание новой даты в Python
  11. Назначение максимального и минимального значения переменной в Python.
  12. Генерация случайных данных в NumPy
  13. Подсчет количества элементов в списке
  14. Объединение списков с использованием itertools.chain
  15. Удаление ключа из словаря
  16. Переопределение метода __floordiv__
  17. Структуры данных в Python
  18. Тестирование модели в PyTorch
  19. Работа с массивами в Numpy
  20. Операции с комплексными числами
  21. Итераторы в Python
  22. Распаковка значений в Python
  23. Перемешивание списка с shuffle()
  24. Проверка вхождения подстроки
  25. Поиск индекса элемента
  26. Замер времени выполнения кода
  27. Функция reduce() в Python
  28. Принципы SRP и OCP
  29. Рекурсия для обращения строки
  30. Функция enumerate() в Python
  31. Асинхронный код в Python
  32. Работа с дробями в Python
  33. Построение графиков в Matplotlib
  34. Печать месячного календаря
  35. Именованные аргументы в Python
  36. Работа с изменяемыми списками
  37. Очистка списка от False, None, 0, «»
  38. Создание списков в Python
  39. Возврат значений из генератора
  40. Метод add для класса Vector
  41. Разрешение имен в Python
  42. Управление памятью в numpy.
  43. Виртуальное окружение Python
  44. Блок else в Python
  45. Транспонирование матрицы
  46. Ускорение обработки данных с %autoawait

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