Définir une fonction avec exec() dans une fonction =>Problème
Bonjour,
Quelqu'un pourrait m'expliquer la différence de comportement entre ces deux codes :
Code:
1 2 3 4 5
| t="def add(a,b):\n\treturn a+b"
def truc(t):
exec(t)
print(add(8,9))
truc(t) |
NameError : name 'add' is not defined
Code:
1 2 3
| t="def add(a,b):\n\treturn a+b"
exec(t)
print(add(8,9)) |
17
Sachant que mon objectif serait un truc comme ca :
Code:
1 2 3 4 5 6 7
| t="def add(a,b):\n\treturn a+b"
def truc(t):
exec(t)
truc(t)
print(add(8,9)) |
(mais qui fonctionnerait)
Merci d'avance.