Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #61537

Re: Differences between obj.attribute and getattr(obj, "attribute")

References <52A82101.7030307@galileo-press.de>
Date 2013-12-11 20:36 +1100
Subject Re: Differences between obj.attribute and getattr(obj, "attribute")
From Chris Angelico <rosuav@gmail.com>
Newsgroups comp.lang.python
Message-ID <mailman.3875.1386754591.18130.python-list@python.org> (permalink)

Show all headers | View raw


2013/12/11 Johannes Schneider <johannes.schneider@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

Back to comp.lang.python | Previous | Next | Find similar | Unroll thread


Thread

Re: Differences between obj.attribute and getattr(obj, "attribute") Chris Angelico <rosuav@gmail.com> - 2013-12-11 20:36 +1100

csiph-web