Best way to set/get an object property

Peter Otten __peter__ at web.de
Sun Aug 24 06:28:53 EDT 2008


Hussein B wrote:

> I noted that Python encourage the usage of:
> --
> obj.prop = data
> x = obj.prop
> --
> to set/get an object's property value.
> What if I want to run some logic upon setting/getting a property?
> What is Python preferred method to do so (using the new feature
> 'property')?
> I don't think __getattr__ and __setattr__ are practical (I have to
> code the property name into them).

Hussein, I don't think you'll learn much from asking these abstract
questions. At some point you have to get your hands dirty and write actual
code to get a feel for the language. 

For example, it will then become obvious for you that property works best
for individual attributes while __getattr__ and friends are more convenient
if you want to treat multiple attributes the same way, attributes whose
names may not even be known until runtime (think delegation).

Peter



More information about the Python-list mailing list