[Beginner] Calling a function by its name in a string
Peter Hansen
peter at engcorp.com
Wed Jul 27 18:22:45 EDT 2005
Tito wrote:
> Thank you both for your quick answers.
>
> What I wanted is to parameterize a function with another member
> function, like this:
>
> def printFunctionForEach(collection, functionName):
> for elem in collection:
> print eval("elem." + functionName + "()")
Note: "member function" is spelled "method" in Python.
> Moreover, I wanted to do it with a property:
>
> def printPropertyForEach(collection, propertyName):
> for elem in collection:
> print eval("elem." + propertyName)
And "property" (the way you are using it) is spelled "attribute".
In Python, properties are something else, similar to but more than just
attributes.
Use of such terms according to conventional Python usage will in future
make it somewhat easier to be understood and for you to understand the
responses.
Cheers,
-Peter
More information about the Python-list
mailing list