Курс 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. Работа с JSON данными в Python
  2. Оптимизация гиперпараметров в Python
  3. Открытие, чтение и закрытие файла
  4. Сериализация объектов в Python
  5. Создание тестовых данных с Faker
  6. Оператор деления для класса Rational
  7. Использование двоеточия в Python
  8. Тестирование с responses
  9. Измерение времени выполнения кода
  10. Метод ipow для возведения в степень
  11. Строки в Python: апострофы и кавычки
  12. Сортировка в Python
  13. Удаление ключа из словаря в Python
  14. Метод init в Python
  15. Работа с collections.Counter
  16. Команда %dhist — список посещенных каталогов
  17. Тест скорости набора текста на Python
  18. Хранение данных
  19. Функции в Python: создание и вызов
  20. Создание таблиц в Python с PrettyTable
  21. Гибкие функции Python
  22. Приоритет операций в Python
  23. Метод rmatmul для пользовательских матриц
  24. Метод get для словаря
  25. Переопределение метода
  26. kwargs в Python
  27. Работа с GitHub в Telegram
  28. Переопределение унарных операторов
  29. Группы исключений в Python
  30. Регистрация на курсы SF Education
  31. Библиотека Chartify: руководство
  32. Оператор space-invader
  33. Работа с множествами в Python
  34. Операторы увеличения и уменьшения в Python
  35. Декораторы с аргументами
  36. Работа с IP-адресами в Python
  37. Обработка исключений в Python
  38. Управление User-Agent в Python
  39. Вложенные циклы в Python
  40. Функции map, filter и reduce
  41. Управление мышью и клавиатурой с Pyautogui
  42. Форматирование данных с pprint
  43. Метод remove() для удаления элемента из списка
  44. Оператор Walrus: правильное использование
  45. Создание копии итератора
  46. Обработка ошибок в Python
  47. Пустой оператор pass в Python

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