28May/100
Using a Property to get a Class name into an Attribute
For one reason or another, I found myself in a slight predicament. I needed to get the name of my class into an attribute.
Thanks to Google + KyLev I managed to procure a workable solution:
class Problem(object):
moduleIndex = 0
def __init__(self):
self.__class__.moduleIndex = self.__class__.moduleIndex + 1
class Solution(object):
moduleIndex = 0
moduleName = property(fget=lambda self: self.__class__.__name__)
def __init__(self):
self.__class__.moduleIndex = self.__class__.moduleIndex + 1
print "[%s] %s"%(self.moduleIndex, self.moduleName)
if __name__ == "__main__": t = Solution()