How to access object attributes given a string

Dennis Kempin dennis at xardias.net
Tue Feb 12 21:35:31 CET 2008


Santiago Romero schrieb:
>  Hi...
> 
>  I'm trying to guess how to access attributes of an existing object
> given the attribute name in a string. I mean:
> 
> class Object:
>     self.x = 12
>     self.y = 20
>     self.name = "blah"
> 
> def ChangeAttribute( object, attribute, value ):
>   # Insert here the code for object.attribute = value
>   XXXXX

have a look a getattr and setattr
setattr(object, "name", "value")
> 
>  Allowing this kind of calls:
> 
>  ChangeAttribute( object, "x", 200 )
>  ChangeAttribute( object, "name", "my name" )
> 
>  Thanks.
> 
> PS: I need it for a concrete case in a game scripting language I'm
> writing, so that I can call functions like "CHANGE_PLAYER_VALUES( "x",
> 100 )".
You are using a scripting language.. why not use python directly? You 
can pass commands from the game console via the exec statement, and have 
the complete power of python in your game scripts

greetings,
Dennis




More information about the Python-list mailing list