anonymous inline functions in python
Project description
fonc
multiline inline anonymous functions in python
>>> from fonc import fonc
>>> [
... fonc("""
... def x(input): # doesn't matter what this function is called
... value = input * 3.14
... return int(value)
... """)(value) for value in [1, 2, 3, 4]
... ]
[3, 6, 9, 12]
why would you do this terrible thing
:) :) :) :) :) :) :) :) :) :) :) :)
does this pollute my global namespace?
nope!
imagine this inline function:
>>> from fonc import fonc
>>> [
... fonc("""
... def x(input): # doesn't matter what this function is called
... value = input * 3.14
... return int(value)
... """)(value) for value in [1, 2, 3, 4]
... ]
[3, 6, 9, 12]
One might imagine that this means that the x
function name is overwritten to the global namespace. It is not!
>>> x(1)
NameError: name 'x' is not defined
how this works pls?
- parse the string and determine the name of the defined function
- replace that with a known random value
- replace calls to that inline function with calls to the renamed function
never-asked questions
-
Do I have access to global vars inside this function?
ya
-
Can I use this in production?
absolutely not u fool
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
fonc-0.2.0.tar.gz
(3.2 kB
view hashes)