Курс 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. Уникальность ключей в словаре
  3. Сумма элементов списка
  4. Удаление элементов из списка в Python
  5. Отправка HTTP-запросов с User-Agent
  6. Создание словарей с defaultdict
  7. Принципы LSP и ISP в Python
  8. Итерация по копии коллекции
  9. Декоратор @override
  10. Функция print() — вывод информации
  11. Проверка вхождения подстроки
  12. Метод count в Python: почему count(», ») возвращает 4?
  13. Разделение строки на пары ключ-значение.
  14. Фильтрация последовательности
  15. Вычисление разности множеств в Python
  16. Генерация резюме в Gensim
  17. Lambda-функция в Python: использование с map() и sum()
  18. Присвоение и ссылки
  19. Вызов функций по строке в Python.
  20. Явный импорт в Python
  21. Поиск файлов по шаблону
  22. Создание namedtuple из словаря
  23. Переопределение метода sub
  24. Создание функций высшего порядка
  25. Обработка исключений
  26. Оптимизация памяти с slots
  27. Перетасовка списков в Python
  28. Виртуальное окружение Python
  29. Автоматизация скриптов на AWS Lightsail.
  30. Операторы += в Python
  31. Блок try…finally в Python
  32. Закрытие файла в Python
  33. Оптимизация гиперпараметров с Scikit Optimize
  34. Цикл for с enumerate() в Python
  35. Именованные срезы в Python
  36. Разделение строки с регулярными выражениями
  37. Работа с файлами и директориями в Python.
  38. Мощь вложенных функций в Python
  39. Область видимости переменных
  40. Конвертация изображений в PDF
  41. Функция enumerate() — Python
  42. Работа с файлами в Python
  43. Каналы Senior: Python, Java, Frontend, SQL, C++
  44. Добавление элемента к кортежу

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