uma função pode ser estática e não estática no python 2
Digamos que eu tenho essa classe:
class Test(object):
def __init__(self, a):
self.a = a
def test(self, b):
if isinstance(self, Test):
return self.a + b
else:
return self + b
Idealmente, no meu mundo, isso seria o seguinte:
>>> Test.test(1,2)
3
>>> Test(1).test(2)
3
Agora isso não funciona porque você recebe este erro:
TypeError: unbound method test() must be called with Test instance as first argument (got int instance instead)
No python3, isso funciona bem, e tenho a suspeita de que isso é possível com um decorador no python2, mas meu foo python não é forte o suficiente para fazer com que funcione.
Torção de plotagem: Então, o que acontece quando preciso de algo quando não é chamado estaticamente.