43_eval.py 476 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. assert eval('1+1') == 2
  2. assert eval('[1,2,3]') == [1,2,3]
  3. def f(x):
  4. return eval('x')
  5. assert f(1) == 1
  6. a = 0
  7. assert eval('a') == 0
  8. exec('a = 1')
  9. assert a == 1
  10. def f(a):
  11. exec('a = 3')
  12. return a
  13. assert f(2) == 3
  14. exec(
  15. "exec('a = eval(\"3 + 5\")')"
  16. )
  17. assert a == 8
  18. def f():
  19. b = 1
  20. exec(
  21. "exec('b = eval(\"3 + 5\")')"
  22. )
  23. assert b == 8
  24. class G: pass
  25. def abc():
  26. g = G()
  27. exec('a=1', g.__dict__)
  28. return g.a
  29. assert abc() == 1