class C: def f(self): s='''def a(n): return n * n;''' exec(s) exec('b=a(5)') print(b) c=C() c.f()
если без класса то работает
class C: def f(self): s='''def a(n): return n * n;''' exec(s) exec('b=a(5)') print(b) c=C() c.f()
habrmanну это достаточно старый баг, некоторые называют его фишкой
почему код не работает?
подробнее тутexec('print(b)')
print(locals()['b'])
habrmanКакой питон вы используете? В 2.7 всё работает
почему код не работает?
C:\Python27\python.exe D:/test/test.py
25
Process finished with exit code 0