Module (42%)
Section (7%)

Методы подробно

Давайте обобщим все факты, касающиеся использования методов в классах Python.

Как Вы уже знаете, метод - это функция, встроенная в класс.

Существует одно фундаментальное требование - у метода должен быть хотя бы один параметр (не существует методов без параметров - метод можно вызывать без аргумента, но нельзя объявлять без параметров).  

Первый (или единственный) параметр обычно называется self. Мы предлагаем вам следовать соглашению - оно обычно используется, и Вы будете создавать проблемы, используя для него другие названия.

Имя self указывает на назначение параметра - идентифицирует объект, для которого вызывается метод.

Если Вы собираетесь вызывать метод, Вы не должны передавать аргумент для параметра self - Python установит его за Вас.

Пример в редакторе показывает разницу.

Код выводит:

method

output

 

Обратите внимание, как мы создали объект - мы обработали имя класса как функцию, возвращая только что созданный объект класса.


Если Вы хотите, чтобы метод принимал параметры, отличные от self, Вам нужно:

  • поместить их после self в определении метода;
  • передать их во время вызова без указания self (как ранее).
 

Как здесь:

class Classy: def method(self, par): print("method:", par) obj = Classy() obj.method(1) obj.method(2) obj.method(3)

Вывод кода:

method: 1 method: 2 method: 3

output



Code

class Classy:
def method(self):
print("method")

obj = Classy()
obj.method()
{{ dockerServerErrorMsg }} ×
{{ errorMsg }} ×
{{ successMsg }} ×