Call Function From Within Dictionary
I've been trying to wrap my head around this problem, I've found a few solutions but no joy. Basically I have a dictionary with keys and a corresponding function. The purpose of th
Solution 1:
When you initialise your dictionary like this:
def manual():
print("Build in progress")
manuals = {'Manual' : manual()}`
the return value of the manual
function will be stored in the dict because you call the function during the initialisation (manuals()
is a function call). Because the function doesn't return anything, the value stored in the dictionary under the 'Manual'
key is NoneType
:
>>> type(manuals['Manual'])
<class'NoneType'>
So you have to change the way the dictionary is initialised in order to have a reference to the function stored in the dict. You can do this by not calling the function during the dictionary initialisation (note the missing ()
):
>>> manuals = {'Manual' : manual}
>>> type(manuals['Manual'])
<class'function'>
Then all you need is get a reference to the function from the dictionary by using manuals['Manual']
, and call that function manuals['Manual']()
.
>>>manuals['Manual']
<function manual at 0x7fb9f2c25f28>
>>>manuals['Manual']()
Build in progress
Post a Comment for "Call Function From Within Dictionary"