В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
aumchik
aumchik
27.04.2022 19:14 •  Информатика

Для чего в языке программирования python, при объявлении методов класса, в качестве первого аргумента указывается ключевое слово self (указатель на собственный класс) ? могут ли быть случаи, когда вместо self указывается другой класс? (вот моя догадка: это нужно для реализации наследования, но как именно еще вопрос)

Показать ответ
Ответ:
inakenyakakyevich
inakenyakakyevich
02.10.2020 21:29
Первым аргументом каждого метода класса, включая __init__, всегда является текущий экземпляр класса. Общепринято всегда называть этот аргумент self.
Как this в С++.
Обычный метод
class MyClass(object):
      def mymethod(self, x):
             return x == self._x

Классовые методы в Python занимают промежуточное положение между статическими и обычными. В то время как обычные методы получают первым параметром экземпляр класса, а статические не получают ничего, в классовые методы передается класс. 
>>> class A(object):
           def __init__(self, int_val):
                 self.val = int_val + 1
                     @classmethod
                     def fromString(cls, val):
                     # вместо self принято использовать cls                           
                   return cls(int(val))
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота