Курс 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"
- Counter() — подсчет элементов
- Python: изменяемые и неизменяемые коллекции
- Метод split() для разделения строк
- Работа с SQLite в Python
- Строки в Python: апострофы и кавычки
- Форматирование строк в Python
- Деление в Python
- Генераторные выражения и islice.
- Список импортированных модулей в Python
- Функция rsplit() в Python
- Перевод двоичного кода в целое число
- Подсчет элементов в Python
- Капитализация строк
- Обработка исключений в Python
- ROT13 Шифр Цезаря в Python
- Функция zip() в Python
- Работа с атрибутом dict
- Метод get для словарей
- Работа с файлами в Python
- Метод __index__ в Python
- Работа с изображениями Pillow
- Глобальные переменные в Python
- Обновление ключей в Python
- Подсчет элементов в списке с Counter
- Тип CodeType в Python.
- Форматирование данных с pprint
- Управление контекстом с помощью декоратора contextmanager
- Декораторы с аргументами
- Переименование файлов в Python
- Метод add для класса Vector
- Метод pop() списка
- Функции map, filter и reduce
- Объединение списков с помощью zip
- Установка и использование Logzero
- Работа с буфером обмена на Python
- Управление фоновыми задачами в Python
- Создание GUI на Tkinter
- Преобразование букв в нижний регистр
- Работа с файлами в Python
- Удаление специальных символов с помощью re.sub
- Установка и использование библиотеки google
- Работа с пользовательским вводом
- Форматирование заголовков в Python
- Логирование с Logzero: ротация файла















