On Aug 22, 8:50*pm, maestro <notnorweg...@yahoo.sewrote:
Why are these functions there? Is it somehow more idiomatic to use
than to do obj.field ?
Is there something you can with them that you can't by obj.field
reference?
You can generate them dynamically from strings. In some cases you
don't know until runtime what attributes you want to pull:
def show_insides(obj):
for attr in dir(obj):
print "Attribute %r: %r" % (attr, getattr(obj, attr))
class hello(object):
a = 1
b = 2
class goodbye(object):
c = 1
d = 500
print show_insides(hello)
(...15 builtins...)
Attribute 'a': 1
Attribute 'b': 2
print show_insides(goodbye)
(...15 builtins...)
Attribute 'c': 1
Attribute 'd': 500
In this case, you can see that we pull the attributes of an object
using dir(), which yields a list of strings, then pull each attribute
we discover.