[Comm] [JT] создание скриптов [JT]
Mikhail Gusarov
=?iso-8859-1?q?dottedmag_=CE=C1_altlinux=2Eorg?=
Сб Апр 12 09:48:56 MSD 2008
Twas brillig at 19:52:20 11.04.2008 UTC+04 when Maksim Otstavnov did gyre and gimble:
MG>> Переменные без типа бывают. У переменных в Python нет типа.
MO> (Устало). Откройте применимый словарь на букву "П" и найдите слово
MO> "переменная", честное слово...
Применимый - это в котором у переменной есть тип?
У переменных в Python нет типа.
MG>> Это в вашем видении питона массив - это константа. Это не так.
MO> (Еще более устало.) Во-первых, это не массив. Во-вторых, в Питоне нет
MO> массивов. В-третьих, даже если бы в Питоне были массивы и это было бы
MO> массивом, буквосочетание "массив --- это константа" (в моем или
MO> чьем-либо еще "понимании") не стало бы от этого более осмысленным.
MO> Массив --- это такая структура данных, а не константа.
Хорошо. В вашем видении питона значение, соответствующее при выполнении
"литералу массива", описываемому таким-то грамматическим правилом, является
неизменным. Это не так.
MG>> MO> А как Вы здесь различаете "ссылку" и "указатель"?
MG>> Указатели - это ссылки с арифметикой.
MO> Ну, есть такое узкое словоупотребление. В данном случае наличие или
MO> отсутствие арифметики над указателями абсолютно никакого значения не имеет:
MO> примеры ее не включают и не предполагают.
Тогда можете считать, что есть указательная семантика (хоть это и неверно
фактически). В чём проблема-то?
MG>> Синтаксически замечательно отличимом. Я не замечаю здесь x[0] слева.
MO> Отличие (значимое в данном случае) не в присутствии селектора слева, а
MO> в присутствии выражения (в данном случае, конструктора) сложного типа
MO> справа. В этом случае переменной слева присваивается указатель, а не
MO> значение, плюс при каждом последующем вхождении этой переменной (пока
MO> она сохраняет этот тип) происходит неявное разыменование.
В Python всегда переменной слева присваивается ссылка (или указатель, если вы
так уж настаиваете). А вы не знали?
MO> Присутствие селектора связано с тем, что селекция элемента списка ---
MO> это единственный в Питоне способ осуществить манипуляцию с уже
MO> разыменованной переменной, а не с содержащейся в ней ссылкой.
MO> Вы этого не увидели, так что от среднего студента я этого ждать тем
MO> более не буду: ему придется это учить. Вместо того, чтобы заниматься
MO> предметом.
А чему учить, кстати? Алгоритмике? Да и там, в общем-то, не помешает O()-нотация
применительно к памяти и скорости операций, а это на уровне абстрактных значений
особо не рассказать.
Т.е. ваш основной point состоит в том, что в python везде ссылки (ага,
"псевдоуказательная семантика" - замечательно, чтобы понять, что это за
бредотермин, пришлось десяток писем написать)? И как вы собрались учить людей,
не рассказывая им про память и вычислительную сложность операций?
--
JID: dottedmag на altlinux.org / dottedmag на jabber.dottedmag.net
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 196 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/community/attachments/20080412/53ddf6cf/attachment-0002.bin>
Подробная информация о списке рассылки community