Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 10, 2013 23:05:46

Kentavr
Зарегистрирован: 2013-09-10
Сообщения: 25
Репутация: +  0  -
Профиль   Отправить e-mail  

Поясните, пожалуйста, как в Python объекты знают, к какому типу они принадлежат

Привожу цитату:

"Все элементы данных в языке Python являются объектами (называе
мых также экземплярами) определенных типов данных (называемых
также классами). Мы будем использовать термины тип данных
и класс как взаимозаменяемые. Одно из основных отличий между объ
ектом и простым элементом данных в некоторых других языках про
граммирования (например, встроенные числовые типы в C++ или Java)
состоит в том, что объект может обладать методами. В сущности, ме
тод – это обычная функция, которая вызывается в контексте конкрет
ного объекта. Например, тип list имеет метод append(), с помощью ко
торого можно добавить новый объект в список, как показано ниже:
>>> x = [“zebra”, 49, 879, “aardvark”, 200]
>>> x.append(“more”)
>>> x
['zebra', 49, 879, ‘aardvark’, 200, ‘more’]
Объект x знает, что принадлежит к типу list (все объекты в языке Py
thon знают, к какому типу они принадлежат),
поэтому нам не требует
ся явно указывать тип данных."

Каким образом они это знают?
Как понять, что x принадлежит к типу list?

Отредактировано Kentavr (Сен. 10, 2013 23:07:45)

Офлайн

#2 Сен. 11, 2013 02:55:58

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Поясните, пожалуйста, как в Python объекты знают, к какому типу они принадлежат

Kentavr
Каким образом они это знают?
при создании они сохраняются под своим типом в памяти
а x - это просто имя, оно привязывается к объекту в памяти

если ты, к примеру, ввёл число 12 в интерпретаторе и нажал ввод, то, несмотря на то что имени у него нет, создался объект целого типа
>>> 12
12
>>> []
[]
>>>
после вывода, он удаляется из памяти (потому что имени нет)



Отредактировано py.user.next (Сен. 11, 2013 02:59:04)

Офлайн

#3 Сен. 11, 2013 10:51:13

lorien
От:
Зарегистрирован: 2006-08-20
Сообщения: 755
Репутация: +  37  -
Профиль  

Поясните, пожалуйста, как в Python объекты знают, к какому типу они принадлежат

> Как понять, что x принадлежит к типу list?

>>> x = []
>>> type(x)
<type 'list'>
>>> x.__class__
<type 'list'>
>>> isinstance(x, list)
True

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version