Курс 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. Фильтрация элементов с помощью islice
  2. Получение идентификатора объекта в памяти
  3. Работа с процессами в Python
  4. Срез в Python
  5. Создание словаря и множества
  6. Класс-оболочка для словарей
  7. Обработка исключений
  8. Форматирование строк в Python
  9. Ввод нескольких значений
  10. Создание словаря в Python
  11. Создание списков в Python
  12. Изменение IP-адреса в Python
  13. Работа с файлами в Python
  14. Генераторные выражения и islice.
  15. Измерение времени выполнения с помощью time
  16. Область видимости переменных
  17. Заказ карты Тинькофф Black
  18. Аргументы *args и **kwargs
  19. Обратное распространение ошибки
  20. Создание объекта timedelta
  21. Работа с многоуровневыми словарями в Python
  22. Поиск самого частого элемента
  23. Математические функции в Python
  24. Concrete Paths — метод .with_suffix()
  25. Применение функции map() с лямбда-функциями
  26. Метод clear для коллекций
  27. Потоковый ввод в Python
  28. Объединение словарей в Python
  29. 9 уловок для чистого кода
  30. Конкатенация строк с помощью join()
  31. Подписка на Kaspersky Team
  32. Создание класса очереди
  33. Списки в Python: основы
  34. Сохранение и загрузка модели в PyTorch
  35. Подсчет элементов в списке с Counter
  36. Создание детектора плагиата
  37. Просмотр файла в Jupyter Noteboo
  38. Сериализация объектов в Python
  39. Метод rrshift для пользовательских объектов
  40. Повторение элементов списков
  41. Присвоение и ссылки
  42. Извлечение аудио из видео
  43. Работа с классами данных
  44. Функция enumerate в Python
  45. Умножение строк и списков
  46. Обход дочерних элементов BeautifulSoup
  47. Делегирование в Python

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