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

Ответы:
Инна Рыбак
03-03-2014 03:56

Первым аргументом каждого метода класса, включая __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))

Также наши пользователи интересуются:

⭐⭐⭐⭐⭐ Лучший ответ на вопрос «Для чего в языке программирования Python,при объявлении методов класса, в качестве первого аргумента указывается ключевое слово self (указатель на собственный класс) ? Могут ли быть случаи, когда вместо self указывается другой класс? (вот моя догадка: это нужно для реализации наследования, но как именно еще вопрос)» от пользователя Божена Лытвынчук в разделе Экономика. Задавайте вопросы и делитесь своими знаниями.

Открой этот вопрос на телефоне - включи камеру и наведи на QR-код!