@clifford
В Python, ключевое слово self
используется для обращения к атрибутам и методам объекта класса внутри самого класса. Когда вы создаете метод в классе, первым параметром должен быть self
, который указывает на сам объект класса.
Вы можете использовать self
для доступа и изменения атрибутов объекта класса. Например:
1 2 3 4 5 6 7 8 9 10 |
class Person: def __init__(self, name, age): self.name = name self.age = age def say_hello(self): print(f"Привет, меня зовут {self.name} и мне {self.age} лет!") person = Person("Алексей", 25) person.say_hello() # Выводит: Привет, меня зовут Алексей и мне 25 лет! |
В этом примере, self.name
и self.age
представляют атрибуты объекта person
. Метод say_hello()
использует self.name
и self.age
для доступа к этим атрибутам.
Вы также можете использовать self
для вызова других методов объекта внутри класса. Например:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
class Person: def __init__(self, name, age): self.name = name self.age = age def introduce(self): self.say_hello() def say_hello(self): print(f"Привет, меня зовут {self.name} и мне {self.age} лет!") person = Person("Алексей", 25) person.introduce() # Выводит: Привет, меня зовут Алексей и мне 25 лет! |
Здесь introduce()
вызывает say_hello()
с помощью self.say_hello()
, чтобы представить объект person
с использованием его имени и возраста.
@clifford
Кроме того, self используется для передачи ссылки на сам объект внутри класса. При вызове методов класса через объект мы не передаем self явным образом, Python делает это за нас автоматически. Например:
1 2 3 4 5 6 7 8 9 |
class MyClass: def method1(self): print("method1 вызван") def method2(self): self.method1() obj = MyClass() obj.method2() # Выводит: method1 вызван |
Здесь метод method2 вызывает method1, используя self.method1. Python передаст ссылку на сам объект MyClass как аргумент методу method1 без явного указания self при вызове obj.method2().
Не забывайте использовать ключевое слово self в методах класса Python для доступа к атрибутам и методам объекта класса.