Python do not have annotations. Decorators are not like java annotations.
>>Why not take advantage of the explicit self?
I think "self" is good. Python lets you bloody patch python objects and classes in runtime and "self" makes it more clear.
Something like:
class MyClass(object): pass
def setX(self,x): self.x = x
MyClass.setX = setX
mc = MyClass()
mc.getX = lambda self: self.x
(INB4: I do not think that bloody patching is good practice)