Python - self, no self и cls

Еще один вопрос о том, для чего нужно "self", что произойдет, если вы не используете "self" и для чего "cls". Я "сделал моя домашняя работа ", я просто хочу убедиться, что у меня все получилось.

self - Чтобы получить доступ к атрибуту объекта, вам необходимо поставить перед именем атрибута имя объекта ( objname.attributename ). Таким же образом self используется для доступа к атрибуту внутри самого объекта (класса). Поэтому, если вы не префикс переменной с помощью self в методе класса, вы не сможете получить доступ к этой переменной в других методах класса или вне класса. Таким образом, вы можете опустить его, если хотите сделать переменную локальной только для этого метода. Таким же образом, если у вас есть метод и у вас нет какой-либо переменной, которую вы хотели бы передать другим методам, вы можете опустить self из аргументов метода.

cls - каждый экземпляр создает свою собственную «копию» атрибутов, поэтому, если вы хотите, чтобы все экземпляры класса использовали одну и ту же переменную, вы должны добавить к имени этой переменной префикс ' cls 'в объявлении класса.

Это нормально? Спасибо.

52
задан Max Segal 20 November 2017 в 07:31
поделиться