I made a class "var" that has on_set(),on_get() and on_change() methods:
class var:
def __init__(self):
self.v = None
# setter = lambda self,v: print(self.v,v)
def set(self,v):
if v != self.v:
self.v = v
self.on_change()
self.on_set()
def get(self):
self.on_get()
return self.v
def on_set(self):
pass
def on_get(self):
pass
def on_change(self):
pass
then i did this:
a=var()
a.on_set = lambda self: print(self.v)
a.set(2)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\api\py\Styg\Styg.py", line 44, in set
self.on_set()
TypeError: <lambda>() missing 1 required positional argument: 'self'
what am i doing wrong?