self
) автоматически передается при вызове и ссылается на сам экземпляр объекта. Методы позволяют объектам класса выполнять действия и взаимодействовать с данными, хранящимися в атрибутах объекта.
В Python, методы - это функции, определенные внутри класса. Они описывают поведение объектов этого класса. Другими словами, методы - это то, что объекты могут делать.
Основное отличие метода от обычной функции заключается в том, что метод автоматически получает первый аргумент, который ссылается на сам объект, для которого он был вызван. Обычно этот аргумент называют self
.
Через self
метод может обращаться к атрибутам (данным) объекта и изменять их. Это позволяет методам работать с конкретным состоянием объекта.
Примеры типов методов:
self
.cls
) и используются для работы с классом в целом, например, для создания альтернативных конструкторов. Определяются с помощью декоратора @classmethod
.@staticmethod
.Пример кода:
class Dog:
def __init__(self, name, breed):
self.name = name
self.breed = breed
def bark(self): # Обычный метод экземпляра
return f"{self.name} говорит 'Гав!'"
@classmethod
def create_unknown(cls): # Метод класса
return cls("Неизвестно", "Дворняжка")
@staticmethod
def is_animal(): # Статический метод
return True
my_dog = Dog("Барон", "Овчарка")
print(my_dog.bark()) # Вызывает метод bark() для объекта my_dog
unknown_dog = Dog.create_unknown()
print(unknown_dog.name) # Выводит "Неизвестно"
print(Dog.is_animal()) # Выводит True
В заключение, методы являются неотъемлемой частью объектно-ориентированного программирования в Python, позволяя объектам иметь поведение и взаимодействовать друг с другом.