типизацию более экономной с точки зрения памяти по сравнению со статической?
ШТА?
о_О ну вряд ли
Ну если я правильно понимаю, то получается, что любая переменная в условном ЯП представляет из себя название + значение. Разница между статической и динамической типизацией - где находится тип переменной: в значении или в названии. то есть в случае статической типизации конвертация одного типа данных к другому требует создания новой переменной с новым названием, а в случае динамической - такого не происходит, нам достаточно поменять тип в ее значении, т.е. без выделения новой ячейки памяти...
при статической типизации в типичном компилируемом языке тип вообще нигде не хранится на этапе выполнения программы
Что из себя представляет переменная вообще крайне сильно зависит от конкретного языка. В статически типизированных языках после компиляции такое понятие как переменная вообще может отсутствовать.
А что собстевнно в python?
Что в python ?
алсо на два эмоджи в нике еще можно было закрывать глаза, но с их ростом пропорционалньо растет вероятность RO
В питоне под переменной обычно подразумевают имя, ссылку на объект.
Ну то есть Я не буду ошибаться, если вместо переменной буду употреблять термин имя?
Имя \ ссылка и объект более корректные термины в питоне чем переменная.
это интересно, спасибо, про компилируемые языки надо разбираться, но меня всё еще интересуют интерпретируемые… Получается, если уточнять, всё же встраивается тип не в названии, как я неверно высказал ранее, а в саму переменную (хотя вот тут не совсем понятно). Если сложить все «карты таро», получается что для конвертации типа требуется выделение доп.памяти, когда при динамической типизации достаточно изменить значение. Откуда вообще появилась такая мысль и почему я решил задать вопрос? В настоящий момент разбираю книжку («Надежный Python» П. Виафоре) и там встретил следующее: «Языки программирования со статической типизацией встраивают информацию о типе в переменную во время сборки. Разработчики могут явно указать типы переменных, или какой-либо инструмент, например компилятор, определяет типы для разработчика. В процессе выполнения программы переменные не меняют свой тип. <…> динамическая типизация встраивает информацию о типе в значение переменной. Во время выполнения программы переменная может довольно легко менять тип данных, потому что информация о типе не привязана к самой переменной.» Вот тут и возникла идея о том, что статика тратит больше памяти. Хотя сам я вроде бы пока еще понимаю, что это бред.
Ой. > Если сложить все «карты таро», получается что для конвертации типа требуется выделение доп.памяти, когда при динамической типизации достаточно изменить значение. Расшифровывай. Фигня получилась.
В цитате скорее всего чуть кривоват перевод, но в любом случае из неё твой вывод ну никак не следует.
Просто в моем понимании переменные несколько напоминают хеш-таблицы, где вместо хешей - адреса памяти (возможно тут моя ошибка). Чтобы поменять тип у самой переменной требуется создать новую переменную и перенести значение, откуда возникает необходимость в выделении новой ячейки памяти….
Что такое «поменять тип»?
конвертировать значение одного типа к другому, разве не так?
Ну я к тому что если мы говорим о каких-то конкретных вещах, то надо очень аккуратно подходить к выбору слов
Как-то всё сильно в кучу и перемешано.
Обсуждают сегодня