Методы подробно
Давайте обобщим все факты, касающиеся использования методов в классах 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