Можно ли сделать что-то вроде следующего в Python?

def func():
    with "Bill" as name:
        print(name)
    # ... more stuff below ...

Я знаю, что это можно сделать с помощью функции / замыкания, например:

def func(): 
    def _with(name):
        print(name)
    _with(name="Bill")
    # ... more stuff below ...

Но есть ли другой способ сделать это (не выполняя много тяжелой работы, подклассируя строку и выполняя методы ввода / вывода?

0
user10870615 20 Окт 2019 в 02:40

1 ответ

Лучший ответ
def func():
    name = 'Bill'
    print(name)

Переменная name выбрасывается после завершения вызова функции, поскольку она является локальной только для func.

NB двоеточие после определения func.

2
Huw Thomas 19 Окт 2019 в 23:48