Добавление ответа, потому что Оскарби не является явным.
Вы используете self
, когда:
- Определение метода экземпляра.Он передается автоматически в качестве первого параметра при вызове метода для экземпляра и является экземпляром, для которого был вызван метод.
- Ссылка на атрибут класса или экземпляра внутриметод экземпляра.Используйте его, чтобы вызвать метод или получить доступ к имени (переменной) в экземпляре, к которому был вызван метод, из этого метода.
Вы не используйте self
когда
- Вы вызываете метод экземпляра как обычно.Используя пример Оскарби, если вы делаете
instance = MyClass()
, вы вызываете MyClass.my_method
как instance.my_method(some_var)
, а не instance.my_method(self, some_var)
. - Вы ссылаетесь на атрибут класса из за пределами метода экземпляра, но внутриопределение класса.
- Вы находитесь внутри staticmethod .
Это не просто примеры того, когда не следует использовать self.DOS - это когда вы должны использовать его.