Почему PyQt5 использует и "cls", и "self"? - PullRequest
0 голосов
/ 10 марта 2019

При создании подкласса QtCore.QAbstractTableModel мой редактор предложил переопределить этот символ.

def data(cls, self, QModelIndex, role=Qt.DisplayRole):
        return super().data(self, QModelIndex, role=role)

Метод data() никогда не будет методом класса, он всегда является методом экземпляра.Я знаю о соглашении использовать cls вместо из self, когда метод аннотируется @classmethod, но я не совсем понимаю, почему сигнатуры из PyQt5 используют оба.Насколько я знаю, Python будет заполнять только первое, и тогда cls будет тем, чего я ожидал бы self.Тогда self будет нормальным аргументом в этот момент.

Что я неправильно понимаю?Какими должны быть мои символы при переопределении методов?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...