Assigning a function to a variable

first-class-functions, python

Solution

You simply don't call the function.

>>> def x():
>>>     print(20)
>>> y = x
>>> y()
20

The brackets tell Python that you are calling the function, so when you put them there, it calls the function and assigns `y` the value returned by `x` (which in this case is `None`).

Problem

Let's say I have a function ``` def x(): print(20) ``` Now I want to assign the function to a variable called `y`, so that if I use the `y` it calls the function `x` again. if i simply do the assignment `y = x()`, it returns `None`.

Original source