Курс 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. Оформление кода по PEP 8
  2. Проверка элемента в множестве.
  3. Класс UserDict: дополнительная функциональность
  4. Функция map() в Python
  5. Метод enumerate() в Python
  6. Функция eval() в Python
  7. Аннотации типов в Python
  8. Перегрузка операторов в Python
  9. Мощь вложенных функций в Python
  10. Основы слова
  11. Функции range() в Python
  12. Работа с функцией next() в Python
  13. Лямбда-функции в Python
  14. Работа с контекст-менеджером «with»
  15. Работа с необработанными строками
  16. Многопоточность и асинхронное программирование в Python
  17. Игра «Угадывание чисел»
  18. Анонимные функции в Python
  19. Имена объектов в Python
  20. Объединение словарей в Python
  21. Работа с файлами в Python
  22. Функция format() в Python
  23. Обработка исключений с блоком else
  24. Названия переменных
  25. Печать месячного календаря
  26. Разделение строки с помощью re.split()
  27. Python: отличительная особенность — отступы
  28. Генератор данных в Keras
  29. Объединение списков с использованием itertools.chain
  30. Декоратор Ajax required
  31. Генераторы в Python
  32. Метод __complex__ в Python
  33. Создание итератора
  34. Создание виртуальной среды
  35. Defaultdict в Python
  36. Удаление дубликатов из списка
  37. Создание Radio кнопок в tkinter
  38. Установка переменной среды в Python
  39. Оператор объединения словарей
  40. Оператор «not» в Python
  41. Работа со строками в Python
  42. Бесконечные списки в Python
  43. Наследование в программировании
  44. Запуск файлового сервера
  45. Замена подстроки
  46. Синтаксис переменных цикла в Python

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