[Comm] [JT] создание скриптов [JT]
Maksim Otstavnov
=?iso-8859-1?q?maksim_=CE=C1_otstavnov=2Ecom?=
Пт Апр 11 19:52:20 MSD 2008
Hello Mikhail,
Friday, April 11, 2008, 2:13:46 PM, you wrote:
MG> Twas brillig at 14:06:10 11.04.2008 UTC+04 when Maksim Otstavnov did gyre and gimble:
MG> MG>> У переменных в Python нет типа.
MG> MO> Переменных без типа не бывает.
MG> Переменные без типа бывают. У переменных в Python нет типа.
(Устало). Откройте применимый словарь на букву "П" и найдите слово
"переменная", честное слово...
MG> MG>> Вы ведь ничего не говорили про изменение этих экземпляров?
MG> MO> О каком "изменении экземпляра" может идти речь? Записаны же константы,
MG> MO> справа от присваивания.
MG> Это в вашем видении питона массив - это константа. Это не так.
(Еще более устало.) Во-первых, это не массив. Во-вторых, в Питоне нет
массивов. В-третьих, даже если бы в Питоне были массивы и это было бы
массивом, буквосочетание "массив --- это константа" (в моем или
чьем-либо еще "понимании") не стало бы от этого более осмысленным.
Массив --- это такая структура данных, а не константа.
MG> MO> А как Вы здесь различаете "ссылку" и "указатель"?
MG> Указатели - это ссылки с арифметикой.
Ну, есть такое узкое словоупотребление. В данном случае наличие или
отсутствие арифметики над указателями абсолютно никакого значения не
имеет: примеры ее не включают и не предполагают.
MG> MO> Проблема в том, что в неотличимом синтаксически примере с простыми типами
MG> MO> --- "x" и "y" будут вести себя уже не как указатели на неименованные
MG> MO> переменные, а как нормальные переменные:
MG> MO> x = 0; y = x; y = 1; print x
MG> Синтаксически замечательно отличимом. Я не замечаю здесь x[0] слева.
Отличие (значимое в данном случае) не в присутствии селектора слева, а
в присутствии выражения (в данном случае, конструктора) сложного типа
справа. В этом случае переменной слева присваивается указатель, а не
значение, плюс при каждом последующем вхождении этой переменной (пока
она сохраняет этот тип) происходит неявное разыменование.
Присутствие селектора связано с тем, что селекция элемента списка ---
это единственный в Питоне способ осуществить манипуляцию с уже
разыменованной переменной, а не с содержащейся в ней ссылкой.
Вы этого не увидели, так что от среднего студента я этого ждать тем
более не буду: ему придется это учить. Вместо того, чтобы заниматься
предметом.
--
-- Maksim
Подробная информация о списке рассылки community