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