Изучение значения ключевого слова «self» в пользовательских функциях

В мире объектно-ориентированного программирования ключевое слово «self» обычно используется для обозначения текущего экземпляра класса. Это позволяет вам получить доступ к атрибутам и методам текущего объекта в определении класса. В этой статье мы углубимся в значение ключевого слова «self» в пользовательских функциях и рассмотрим различные методы его использования. Мы предоставим примеры кода, чтобы проиллюстрировать его использование. Итак, начнём!

  1. Вызов метода.
    Основная цель ключевого слова «self» — доступ к переменным экземпляра и методам внутри класса. Когда вы вызываете метод экземпляра класса, ключевое слово self используется неявно для ссылки на этот экземпляр. Вот пример:
class MyClass:
    def __init__(self, name):
        self.name = name

    def say_hello(self):
        print("Hello, " + self.name + "!")

obj = MyClass("John")
obj.say_hello()  # Output: Hello, John!

В приведенном выше коде метод say_helloопределен внутри класса MyClass. Используя ключевое слово «self», мы можем получить доступ к атрибуту nameтекущего экземпляра (self.name) и напечатать персонализированное приветствие.

  1. Создание и изменение переменных экземпляра.
    Ключевое слово «self» также используется для создания и изменения переменных экземпляра внутри класса. Переменные экземпляра уникальны для каждого экземпляра класса. Вот пример:
class Circle:
    def __init__(self, radius):
        self.radius = radius
        self.area = 3.14 * radius * radius

    def increase_radius(self, delta):
        self.radius += delta
        self.area = 3.14 * self.radius * self.radius

circle = Circle(5)
print(circle.area)  # Output: 78.5
circle.increase_radius(2)
print(circle.area)  # Output: 132.74

Во фрагменте кода класс Circleимеет переменную экземпляра radiusи вычисляемую переменную экземпляра area. Метод increase_radiusпринимает значение deltaи увеличивает радиус на эту величину, соответствующим образом обновляя область.

  1. Вызов других методов внутри класса.
    Ключевое слово «self» позволяет вызывать другие методы внутри класса. Он позволяет вызывать один метод из другого метода того же класса. Вот пример:
class MathOperations:
    def __init__(self, number):
        self.number = number

    def square(self):
        return self.number  2

    def cube(self):
        return self.number  3

    def square_and_cube(self):
        squared = self.square()
        cubed = self.cube()
        return squared, cubed

math_obj = MathOperations(5)
print(math_obj.square_and_cube())  # Output: (25, 125)

В этом примере метод square_and_cubeвызывает методы squareи cubeвнутри класса с использованием ключевого слова «self». Он возвращает кортеж, содержащий квадрат и куб числа, хранящегося в переменной экземпляра.

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