I would add a method to classdynamically ... the function name will also be passed dynamically.
How can i do this? I tried this way
def decor(*var):
def onDecorator(aClass):
class onInstance:
def __init__(self,*args,**kargs):
setter=var
aClass.setter = self.flam
self.wrapped = aClass(*args,**kargs)
def __getattr__(self,attr):
return getattr(self.wrapped,attr)
def __setattr__(self,attr,value):
if attr == 'wrapped':
self.__dict__[attr]=value
else:
setattr(self.wrapped,attr,value)
def flam(self,*args):
self.__setattr__('dimension',len(args[0]))
return onInstance
return onDecorator
but if I do this:
print(aClass.__dict__)
I have
'setter': <bound method onInstance.flam of <__main__.onInstance object at 0x522270>>
instead var: .....
I have this class:
class D:
def __init__(self, data):
self.data = data
self.dimension = len(self.data)
I would call:
D.name()
and back self.dimension, but I don’t know namein advance
source
share