Являются ли значения атрибутов объекта или сами значения объектами? - PullRequest
0 голосов
/ 30 апреля 2019

Например, a=5, создает ли он объект int со значением 5 или сам объект 5?

Давайте возьмем класс сотрудника.Когда мы создаем экземпляр e1=employee("Rakesh","Singh", 6000), он создает объект сотрудника e1 с атрибутами fname=Rakesh, lname= Singh и Pay=6000.
Но в приведенном выше случае мы можем сказать, что e1 эквивалентно 5 (поскольку они обаявляются экземплярами разных классов) или e1 эквивалентен int объекту со значением 5?

Я запутался, само значение является объектом или это атрибут?

1 Ответ

2 голосов
/ 30 апреля 2019

Python динамически типизируется, и имена переменных могут быть назначены различным типам данных позже в программе.

Когда объявлено, что a = 5

  1. Будет создан целочисленный объект со значением 5 (обратите внимание, что int и str в Python являются неизменяемыми объектами. Вы не можете назначать новые значения для этих объектов. Если вы делаете, новые объекты создаются (и не обязательно, существующие объекты с таким же значением могут быть использованы повторно).

  2. Объект 5 int и имя a связаны.

  3. Принимая во внимание, что a является только ссылкой / указателем, который указывает на этот объект. Ссылочный термин предпочтителен, потому что вы не можете делать такие вещи, как указатель математики, как в языке Си. Ссылки являются псевдонимами для объектов.

Следовательно, 5 - это объект типа int со значением 5, на который ссылается имя / ссылка a.

Кроме того, все в Python на самом деле является объектом. Включая функции, классы, исключения и т. Д.

Объект может иметь один или несколько атрибутов. И в Python каждый атрибут также является объектом.

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