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

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

Ответ:
лиьомьм
лиьомьм
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
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?