Есть ли способ для функции, вызываемой внутри оператора with, чтобы неявно получить объект with, не передавая его другой функции? - PullRequest
1 голос
/ 29 апреля 2020

Интересно, можно ли неявно передать объект with-оператора другим функциям.

Предположим, что приведенный ниже код:

with get_something() as something:
    # do some things with it
    # then call another function for more things to happen
    do_other_things()

и в другом модуле / классе:

def do_other_things():
    # do other things
    print(something)

вместо явной передачи переменной'thing ', например:

def do_other_things(something):
    # do other things
    print(something)

with get_something() as something:
    # do some things with it
    # then call another function for more things to happen
    do_other_things(something)

, поскольку мы находимся в контексте оператора with, есть ли способ, магическое ключевое слово, декоратор или еще что позволит функции, вызываемой внутри 'with', обращаться к своим переменным, не передавая ее.

Спасибо.

...