Что такое self

Self – специальный параметр, который передается первым аргументом в метод класса и представляет собой ссылку на экземпляр класса

class Shirt:
    def __init__(self, color):
        self.color = color

s = Shirt('yellow')
s.color
#=> 'yellow'

 

Oct. 9, 2023, Источник

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

Почему `self` необходим

  • Доступ к атрибутам и методам экземпляра: Используется внутри методов класса для доступа или модификации атрибутов и вызова других методов экземпляра. Позволяет каждому экземпляру класса иметь собственные данные и поведение.
  • Определение методов экземпляра: Здесь первый параметр обычно называется `self`. Это соглашение, а не строгое правило, но его следует соблюдать для согласованности и читаемости кода.

Вот пример `self`:

class MyClass:
    def __init__(self, value):
        # Использование self для установки атрибута экземпляра
        self.my_attribute = value

    def show_value(self):
        # Использование self для доступа к атрибуту экземпляра
        print(self.my_attribute)

    def update_value(self, new_value):
        # Использование self для изменения атрибута экземпляра
        self.my_attribute = new_value

Когда метод класса вызывается для экземпляра класса, Python автоматически передает сам экземпляр в метод в качестве первого аргумента. Это значит, что когда вы создаете экземпляр `my_object = MyClass(10)` и вызываете `my_object.show_value()`, `my_object` передается в метод `show_value` как аргумент `self`.

Feb. 22, 2024, easyoffer