On 28/09/23 10:44 pm, Stefan Ram wrote:
class A:
     def __init__( self ):
         self.__setattr__ = self.setattr
     def setattr( self, key, value ):
         print( 'setattr called.' )

   Any idea how to achieve something like this?

class A:

    def __init__(self):
        self.x = 17
        self.setattr = self.custom_setattr

    def __setattr__(self, key, value):
        self.setattr(key, value)

    def setattr(self, key, value):
        object.__setattr__(self, key, value)

    def custom_setattr(self, key, value):
        print('custom_setattr:', key, '=', value)

a = A()
a.x = 1
print('a.x =', a.x)

--
Greg

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to