Dynamic function execution
Cameron Laird
claird at lairds.us
Sat Nov 25 18:58:00 EST 2006
In article <mailman.718.1164469686.32031.python-list at python.org>,
Fredrik Lundh <fredrik at pythonware.com> wrote:
>Andy Wu wrote:
>
>> def func(seconds = None, minutes = None, hours = None):
>> ...
>>
>> In my program I can get a string object('seconds', 'minutes', 'hours')
>> to specify which parameter to use, the problem is I don't know how to
>> call the function.
>>
>> Say I have a string 'minutes' and a integer 30, now I need to call the
>> func this way: func(minutes = 30), how do I do this?
>
> func(**{"minutes": 30})
>
></F>
>
Now I'm confused: what's the advantage of
def func(seconds = None, minutes = None, hours = None):
print seconds
print minutes
print hours
func(**{"minutes": 30})
over
def func(seconds = None, minutes = None, hours = None):
print seconds
print minutes
print hours
func(minutes = 30)
? Or am I missing the point that a better example of what
Mr. Wu really wants is
def func(seconds = None, minutes = None, hours = None):
print seconds
print minutes
print hours
dimension = "minutes"
func(**{dimension: 30})
?
More information about the Python-list
mailing list