1.5.22. fejezet, Annotáció

def buildermethod(func):
  def wrapper(self, *args, **kwargs):
    func(self, *args, **kwargs)
    return self
  return wrapper
 
class A:
  def __init__(self):
    self.x = 0
    self.y = 0
 
  @buildermethod
  def set_x(self, x):
    self.x = x
 
  @buildermethod
  def set_y(self, y):
    self.y = y
 
a = A().set_x(1).set_y(2)