В мире объектно-ориентированного программирования ключевое слово «self» обычно используется для обозначения текущего экземпляра класса. Это позволяет вам получить доступ к атрибутам и методам текущего объекта в определении класса. В этой статье мы углубимся в значение ключевого слова «self» в пользовательских функциях и рассмотрим различные методы его использования. Мы предоставим примеры кода, чтобы проиллюстрировать его использование. Итак, начнём!
- Вызов метода.
Основная цель ключевого слова «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) и напечатать персонализированное приветствие.
- Создание и изменение переменных экземпляра.
Ключевое слово «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и увеличивает радиус на эту величину, соответствующим образом обновляя область.
- Вызов других методов внутри класса.
Ключевое слово «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.