Differences between obj.attribute and getattr(obj, "attribute")
Johannes Schneider
johannes.schneider at galileo-press.de
Wed Dec 11 05:11:44 EST 2013
thank you guys.
On 11.12.2013 10:36, Chris Angelico wrote:
> 2013/12/11 Johannes Schneider <johannes.schneider at galileo-press.de>:
>> can somebody explain me the difference between accessing attributes via
>> obj.attribute and getattr(obj, "attribute")?
>>
>> Is there a special reason or advantage when using getattr?
> You use getattr when the attribute name comes from a string, rather
> than a literal. There's no advantage to it when you know ahead of time
> what attribute you're looking for. It's useful when you iterate over
> dir(), for instance:
>
> print("You can call...")
> n=0
> for attr in dir(x):
> if callable(getattr(x,attr)):
> print("x.%s()"%attr)
> n+=1
> print("...",n," options.")
>
> ChrisA
--
Johannes Schneider
Webentwicklung
johannes.schneider at galileo-press.de
Tel.: +49.228.42150.xxx
Galileo Press GmbH
Rheinwerkallee 4 - 53227 Bonn - Germany
Tel.: +49.228.42.150.0 (Zentrale) .77 (Fax)
http://www.galileo-press.de/
Geschäftsführer: Tomas Wehren, Ralf Kaulisch, Rainer Kaltenecker
HRB 8363 Amtsgericht Bonn
More information about the Python-list
mailing list