self
не является специальным ключевым словом. Это просто передается автоматически, если вы вызываете свою функцию как метод для объекта.
например, если вы создали свой объект (я прописал имя класса в соответствии с Python стандартами)
class Math:
def __init__(self, x, y):
self.x = x
self.y = y
def add(self):
return self.x + self.y
math = Math(x, y)
тогда следующее эквивалентно:
math.add()
Math.add(math)
То, что вы делали, вызывало
Math.add(x, y)
, что недопустимо, поскольку Math.add
принимает только один аргумент (экземпляр Math
).