Python’s Self: руководство для начинающих по его пониманию и использованию

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

  1. Использование selfдля доступа к переменным экземпляра:
    Переменные экземпляра уникальны для каждого экземпляра класса. Вы можете получить к ним доступ и изменить их, используя ключевое слово self. Давайте рассмотрим пример:
class Car:
    def __init__(self, brand):
        self.brand = brand
    def display_brand(self):
        print("The brand of this car is:", self.brand)
my_car = Car("Toyota")
my_car.display_brand()

Выход:

The brand of this car is: Toyota

В приведенном выше коде self.brandотносится к переменной экземпляра brand, которая специфична для каждого экземпляра Car.

<старый старт="2">

  • Вызов методов с помощью self:
    Методы, определенные внутри класса, можно вызывать с помощью ключевого слова self. Это обеспечивает доступ к другим методам и переменным экземпляра внутри того же класса. Давайте посмотрим пример:
  • class Person:
        def __init__(self, name):
            self.name = name
        def say_hello(self):
            print("Hello, my name is", self.name)
        def greet(self):
            self.say_hello()  # Invoking another method within the class
    person = Person("John")
    person.greet()

    Выход:

    Hello, my name is John

    Здесь self.say_hello()используется для вызова метода say_hello()из метода greet().

    1. Создание и изменение переменных экземпляра.
      Вы можете создавать и изменять переменные экземпляра с помощью self. Давайте рассмотрим следующий пример:
    class Circle:
        def __init__(self, radius):
            self.radius = radius
            self.area = 0  # Initializing instance variable
        def calculate_area(self):
            self.area = 3.14 * (self.radius  2)
    circle = Circle(5)
    circle.calculate_area()
    print("The area of the circle is:", circle.area)

    Выход:

    The area of the circle is: 78.5

    В приведенном выше коде self.areaиспользуется для создания и изменения переменной экземпляра area.

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

    Не забудьте использовать selfвсякий раз, когда вам нужно обратиться к текущему экземпляру класса. Попрактиковавшись, вы научитесь эффективно использовать selfи использовать весь потенциал объектно-ориентированных возможностей Python.