Еще один вопрос о том, для чего нужно "self", что произойдет, если вы не используете "self" и для чего "cls". Я "сделал моя домашняя работа ", я просто хочу убедиться, что у меня все получилось.
self
- Чтобы получить доступ к атрибуту объекта, вам необходимо поставить перед именем атрибута имя объекта ( objname.attributename
). Таким же образом self
используется для доступа к атрибуту внутри самого объекта (класса). Поэтому, если вы не префикс переменной с помощью self в методе класса, вы не сможете получить доступ к этой переменной в других методах класса или вне класса. Таким образом, вы можете опустить его, если хотите сделать переменную локальной только для этого метода. Таким же образом, если у вас есть метод и у вас нет какой-либо переменной, которую вы хотели бы передать другим методам, вы можете опустить self
из аргументов метода.
cls
- каждый экземпляр создает свою собственную «копию» атрибутов, поэтому, если вы хотите, чтобы все экземпляры класса использовали одну и ту же переменную, вы должны добавить к имени этой переменной префикс ' cls
'в объявлении класса.
Это нормально? Спасибо.