Это повредит производительности вашей функции, а также ее удобству обслуживания, но если вы действительно хотите сделать свой собственный код намного хуже, Python предоставит вам «достаточно веревки, чтобы выстрелить себе в ногу» (; -):
>>> def horror():
... exec "x=23"
... return x
...
>>> print horror()
23
Чуть менее ужасно, конечно, было бы exec
в конкретном диктанте:
>>> def better():
... d = {}
... exec "x=23" in d
... return d['x']
...
>>> print better()
23
Это, по крайней мере, позволяет избежать загрязнения пространства имен при первом подходе.