Как использовать self в классах python?

Пользователь

от clifford , в категории: Python , год назад

Как использовать self в классах python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от elissa , год назад

@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 с использованием его имени и возраста.

Пользователь

от hattie , 8 месяцев назад

@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 для доступа к атрибутам и методам объекта класса.