В вопросе «Как узнать количество аргументов функции Python?» приведен код, показывающий, как использовать Inspect.getfullargspec для получения информации о функции. Однако есть ли способ проверить, является ли один из аргументов функции self? Можно ли определить, является ли первый аргумент метода self Python 2, каким-то образом проверив, является ли первый аргумент данной функции ссылкой на объект метода?
Например, первый аргумент на этапе функции технически является self, даже если кто-то решил поступить зло и переименовать self во что.
Код: Выделить всё
class TestNode(object):
def __init__(what, bias=0):
what.bias = bias
def update(what, t, x):
return t / x * what.bias
Однако первый аргумент в функции лямбда self: self+1 несмотря на то, что кто-то был злым и назвал аргумент self на самом деле не является self, используемым в объектах Python.