У меня есть функция screen(), которая возвращает снимок экрана, но может вернуть Нет. Я вызываю это в цикле для переменной. При первом вызове он никогда не возвращает None. Если он возвращает None, я просто хочу присвоить переменной предыдущее значение. Так что я вполне могу решить эту проблему вот так,
Код: Выделить всё
img = screen()
while True:
temp = screen()
if temp is not None:
img = temp
Код: Выделить всё
img = screen() if screen() is not None else img
Я тоже не могу этого сделать,
Код: Выделить всё
img = screen() or img
Это не похожий вопрос Выполнить функцию по результату другой функции, если нет, так как они не полностью отвечают на этот вопрос.
Я пробовал
Код: Выделить всё
img = (s := self.screen(bounding_box)) if s is not None else img
Код: Выделить всё
(img := self.screen(bounding_box)) if img is not None else img
Подробнее здесь: https://stackoverflow.com/questions/784 ... eturn-none