Как объявить метод в классе?

Метод в классе Python объявляется внутри класса с использованием ключевого слова def. Первый аргумент метода должен быть self, который ссылается на экземпляр класса.

Пример:
    
class MyClass:
    def my_method(self, arg1, arg2):
        # Тело метода
        return arg1 + arg2
    
  

В Python метод в классе объявляется с использованием ключевого слова def внутри определения класса. Первый аргумент каждого метода - это self, который является ссылкой на экземпляр самого класса. Он используется для доступа к атрибутам и другим методам класса.

Вот пример:

class MyClass:
    def __init__(self, value):
      self.value = value

    def my_method(self):
      """
      Это docstring метода.  Он описывает, что делает метод.
      """
      return self.value * 2

    def another_method(self, other_value):
      return self.value + other_value

Разъяснения:

  • class MyClass: - определяет класс с именем MyClass.
  • def __init__(self, value): - это конструктор класса (метод __init__). Он вызывается при создании нового экземпляра класса. self ссылается на создаваемый экземпляр, а value - это аргумент, передаваемый при создании экземпляра.
  • self.value = value - присваивает значение аргумента value атрибуту value экземпляра класса.
  • def my_method(self): - определяет метод my_method. Он принимает аргумент self.
  • return self.value * 2 - возвращает результат умножения атрибута value экземпляра на 2.
  • def another_method(self, other_value): - определяет метод another_method, который принимает аргумент other_value помимо self.
  • return self.value + other_value - возвращает сумму атрибута value и other_value.
  • Docstring ("""...""") - это строка документации, которая описывает, что делает метод. Она доступна через атрибут __doc__ (например, MyClass.my_method.__doc__).

Пример использования:

instance = MyClass(5)
result1 = instance.my_method()  # result1 будет равен 10
result2 = instance.another_method(3) # result2 будет равен 8
print(result1)
print(result2)

Важно помнить про self. Без него Python не поймет, к какому экземпляру класса относится вызов метода.

0