Код: Выделить всё
def foo(code):
exec(code)
if __name__ == "__main__":
code = R"""
from typing import List
class Test:
def __init__(a: List):
pass
"""
foo(code)
# exec(code) # this works
Кроме того, следующие изменения позволяют этому примеру работать:
- Замена List на list
- выполнение exec(code) перед foo
- передача globals() как локальных переменных для выполнения
- изменение кода на:
Код: Выделить всё
code = R"""
from typing import List
def boo(a: List):
pass
"""
Подробнее здесь: https://stackoverflow.com/questions/788 ... a-function