Определение когда print() перестает писать Python

Всем привет! У меня появился вопрос по поводу print() в Python. Для одной фичи мне нужно реализовать функцию, где нужно будет определить когда перестанет в консоль писать значение. Можете пожалуйста подсказать. Максимум до чего я додумался это:

eyes2 = cv2.rectangle(img, (x+ex, y+ey), (x+ex + ew, y+ey + eh), (255, 0, 0), 2) # тут выдает значение, а я его компилирую yes
if eyes2.any():
   success2221 = "yes"
   success222 = print(success2221)
if 'yes' in success222:
   print('Есть такой текст')
if 'no' in success222:
   print('Нет такого текста')

Помогите мне пожалуйста!


Ответы (1 шт):

Автор решения: alex

Я наконец то понял вопрос. Проблема в том, что print() возвращает None

print() всегда возвращает None в любом случае

success2221 = "yes"
success222 = print( success2221 ) # тут выводится yes
print( success222 )               # тут печатается None

Есть функции которые возвращают значение, например, квадратный корень, а есть функции, которые никогда ничего не возвращают в качестве результата ( они просто что-то выполняют и ничего не возвращают ). Если вы сделаете свою функцию и ничего не вернете в качестве result, то Python сам неявно добавит в код result = None. Точно так же и в функции print() написано, что result = None

Поэтому не зависимо от того, что делает print() её результат

print( print( '' ) ) всегда будет None

→ Ссылка