Задать вопрос
rogerCopy
@rogerCopy

Почему logging.log.warning не отдает управление вниз по стеку вызовов?

def do_smth():
    if condition:
        logging.log.warning("text")
        
    print('test')


Не подскажете, почему не проходит print('test')?
  • Вопрос задан
  • 59 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
@dmtrrr
Backend developer
Потому что return
Ответ написан
trapwalker
@trapwalker Куратор тега Python
Программист, энтузиаст
Вы к экстрасенсам обратились или к кому?
Почему logging.log.warning не отдает управление вниз по стеку вызовов?

Что такое у вас тут logging? Это стандартная питоновская библиотека? Так в ней log - это функция и у неё нет атрибута warning. Тот факт, что вы не привели трейс-бэка и ничего не сказали, по поводу падения на упоминании необъявленного condition наверно, вы лишь процитировали кусочек кода и где-то выше импортируется или создаётся logging, объявляется глобально condition... и вот это вот всё.
ОК, я всегда допускаю и предполагаю, что автор вопроса РАЗУМНЫЙ ЧЕЛОВЕК И ПОСТУПАЕТ РАЗУМНО.
Что я могу из этого понять?
Наверно logging.log у автора никакого отношения к стандартном логгингу не имеет (или автор упрощая пример наговнякал херни).
Наверно автор умышленно поставил return (как он мог его не заметить?) или автор просто в первый раз видит питон и... блин... не знаю.

ЧТО ТУТ ПРОИСХОДИТ?

Окееей. Тут был упомянут стек вызова. Наверно можно немножко перепутать верх и низ у стека вызовов. Но данная фраза либо относится к сложному и очень магическому управлению байткодом, либо... либо автор употребляет термины, которых не понимает.

Автор, просто приведите код, который работает не так, как вы ожидаете. ПОЛНОСТЬЮ. В том виде в котором он у вас работает не так как вы ожидаете. Тогда я подскажу где вы неправильно ожидаете.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы