[Tutor] Interesting problem
Kent Johnson
kent37 at tds.net
Thu Jun 23 22:38:39 CEST 2005
Smith, Jeff wrote:
> Here would be the usage:
>
> myinst = MyClass()
> print myinst.getprops_as_dict()
>
> would print
>
> {'var1': 1, 'var2': 2, 'var3': 3}
>
> Needless to say I want the instance values which might be different for
> each instance. I know that I could code it brute force, but I want to
> be able to add properties without having to remember to update
> getprops_as_dict().
OK, so will a variation on my last recipe work? This looks for property attributes of the class and gets the corresponding property on the instance:
def getprops_as_dict(self):
return dict(pname, getattr(self, pname)
for pname in dir(self.__class__)
if isinstance(getattr(self.__class__, pname), property))
)
Kent
>
> For those who are interested, the dictionary created by
> getprops_as_dict() will be fed to string.Template.substitute
>
> Jeff
More information about the Tutor
mailing list