Для чего в языке программирования Python,при объявлении методов класса, в качестве первого аргумента указывается ключевое слово self (указатель на собственный класс) ? Могут ли быть случаи, когда вместо self указывается другой ...

Для чего в языке программирования Python, при объявлении методов класса, в качестве первого аргумента указывается ключевое слово self (указатель на собственный класс) ? Могут ли быть случаи, когда вместо self указывается другой класс? (вот моя догадка: это нужно для реализации наследования, но как именно еще вопрос)
Гость
Ответ(ы) на вопрос:
Гость
Первым аргументом каждого метода класса, включая __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))
Не нашли ответ?
Ответить на вопрос
Похожие вопросы