Использование аргумента, обычно называемое self
, не так сложно понять, как это необходимо? Или о том, почему прямо упоминать об этом? Это, я полагаю, является большим вопросом для большинства пользователей, которые ищут этот вопрос, или если это не так, у них, безусловно, будет тот же вопрос, что и в дальнейшем, изучая python. Я рекомендую им прочитать эти две блоги:
Обратите внимание, что это не ключевое слово.
Первый аргумент каждого метода класса, включая init, всегда является ссылкой на текущий экземпляр класса. По соглашению, этот аргумент всегда называется self. В методе init сам относится к вновь созданному объекту; в других методах класса, это относится к экземпляру, метод которого был вызван. Например, приведенный ниже код такой же, как приведенный выше код.
. Еще одна вещь, которую я хотел бы добавить, - необязательный аргумент self
позволяет мне объявлять статические методы внутри класса, не записывая self
.
Примеры кода:
class MyClass():
def staticMethod():
print "This is a static method"
def objectMethod(self):
print "This is an object method which needs an instance of a class, and that is what self refers to"
PS: Это работает только в Python 3.x.
В предыдущих версиях вы должны явно добавить декоратор @staticmethod
в противном случае аргумент self
является обязательным.
Добавление элементов отлично, вам просто нужно взять mod (%) промежуточной совокупности при вычислении суммы элементов и ожидаемой суммы. Для операции mod вы можете использовать что-то вроде 2n. Вы также должны зафиксировать значение после вычитания.