Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #61537
| 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) |
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
Re: Differences between obj.attribute and getattr(obj, "attribute") Chris Angelico <rosuav@gmail.com> - 2013-12-11 20:36 +1100
csiph-web