Search code examples
pythonfirst-class-functions

Assigning a function to a variable


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.


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).