deref in a string into an operand

Steven Bethard steven.bethard at gmail.com
Fri Nov 5 11:22:48 EST 2004


John Doe <atterdan <at> yahoo.com> writes:
> 
> So using a builtin object like 'x' ...
> 
> 	x = 5
> 	attr = '__mul__' 
> 
> 	print x.__getattribute__( attr )( 5 )
> 	25
> 
> My program will store the operand as '__mul__' instead of '*', along with
> a health bit of comment.

You also might consider just storing the operator.<op> methods in an appropriate
dictionary:

>>> import operator
>>> operator_map = {'+':operator.add, '-':operator.sub}
>>> operator_map['+'](1, 2.0)
3.0

This allows you to call the add function whatever you want.

Steve




More information about the Python-list mailing list