define a new func on the fly?
David Allen
s2mdalle at titan.vcu.edu
Thu Mar 1 19:40:22 EST 2001
More information about the Python-list mailing list
Thu Mar 1 19:40:22 EST 2001
- Previous message (by thread): define a new func on the fly?
- Next message (by thread): define a new func on the fly?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
In article <3A9EE927.8744154E at troikanetworks.com>, "Bruce Edge" <bedge at troikanetworks.com> wrote: > I'm trying to define a new function on the at runtime, > > this fails: > >>>> eval( "def global_func_name():\n\tpass" ) > Traceback (most recent call last): > File "<stdin>", line 1, in ? File "<string>", line 1 > def global_func_name(): > ^ > SyntaxError: invalid syntax > > any idea how I can do this? Try using lambda instead for anonymous functions, and then bind it to a variable: >>> squaring_function = eval("lambda x: x * x") >>> print squaring_function(5) 25 In this respect, I don't like python's required whitespace, because while it keeps programmers honest when they're programming, it makes it much more of a pain to dynamically generate a string of code and then eval() it as opposed to, *cough*, other scripting languages. -- David Allen http://opop.nols.com/ ---------------------------------------- Art is anything you can get away with. - Marshall McLuhan.
- Previous message (by thread): define a new func on the fly?
- Next message (by thread): define a new func on the fly?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list