Исправление soomrack, (текущая версия) :
В своем первом комменте я выразился несколько мутно. Моя мысль была в том, что обычному программисту на питоне или js, который не погружается глубоко в язык, не хочется указывать тип явно и эту возможность он воспринимает как «динамическая типизация», что, конечно, с формальной т.з. ей не является.
- переменная с именем «а» типа «А» может быть переиспользована для хранения переменной типа «Б»
звучит немного некорретно, правильней было бы сказать
«идентификатор переменной с именем «а» типа «А» может быть переиспользован для представления переменной типа «Б»»
a = 100
Тут интерпретатор считает на основе своих правил, что это целый тип, и это я называю «угадыванием», т.к. в явном виде тип не задан, и если я где-то выше написал a=1.1, то после этой строчки тип внезапно может измениться, что кажется несколько странным с логической т.з.:
a = 1.1
print(type(a))
a = 100
print(type(a))
Вообще, то, что в одной области видимости идентификатор меняет соответствие переменной которую представляет, кажется очень-очень странным и извращенным. В итоге понятие идентификатора и переменной в языках с динамической типизация начинает сильно расходиться друг с другом, что порождает кучу мутных вещей.
PS: для меня типизация в питоне это какой-то дикий синтаксический сахар вокруг ссылок, работа которого часто непонятна и кажется странной, и с каждым годом с развитием языка это становится все запутанней и запутанней.
Исправление soomrack, :
В своем первом комменте я выразился несколько мутно. Моя мысль была в том, что обычному программисту на питоне или js, который не погружается глубоко в язык, не хочется указывать тип явно и эту возможность он воспринимает как «динамическая типизация», что, конечно, с формальной т.з. ей не является.
- переменная с именем «а» типа «А» может быть переиспользована для хранения переменной типа «Б»
звучит немного некорретно, правильней было бы сказать
«идентификатор переменной с именем «а» типа «А» может быть переиспользован для хранения переменной типа «Б»»
a = 100
Тут интерпретатор считает на основе своих правил, что это целый тип, и это я называю «угадыванием», т.к. в явном виде тип не задан, и если я где-то выше написал a=1.1, то после этой строчки тип внезапно может измениться, что кажется несколько странным с логической т.з.:
a = 1.1
print(type(a))
a = 100
print(type(a))
Вообще, то, что в одной области видимости идентификатор меняет соответствие переменной которую представляет, кажется очень-очень странным и извращенным. В итоге понятие идентификатора и переменной в языках с динамической типизация начинает сильно расходиться друг с другом, что порождает кучу мутных вещей.
PS: для меня типизация в питоне это какой-то дикий синтаксический сахар вокруг ссылок, работа которого часто непонятна и кажется странной, и с каждым годом с развитием языка это становится все запутанней и запутанней.
Исправление soomrack, :
В своем первом комменте я выразился несколько мутно. Моя мысль была в том, что обычному программисту на питоне или js, который не погружается глубоко в язык, не хочется указывать тип явно и эту возможность он воспринимает как «динамическая типизация», что, конечно, с формальной т.з. ей не является.
- переменная с именем «а» типа «А» может быть переиспользована для хранения переменной типа «Б»
звучит немного некорретно, правильней было бы сказать
«идентификатор переменной с именем «а» типа «А» может быть переиспользован для хранения переменной типа «Б»»
a = 100
Тут интерпретатор считает на основе своих правил, что это целый тип, и это я называю «угадыванием», т.к. в явном виде тип не задан, и если я где-то выше написал a=1.1, то после этой строчки тип внезапно может измениться, что кажется несколько странным с логической т.з.:
a = 1.1
print(type(a))
a = 100
print(type(a))
Вообще, то, что в одной области видимости идентификатор меняет соответствие переменной которую представляет, кажется очень-очень странным и извращенным.
PS: для меня типизация в питоне это какой-то дикий синтаксический сахар вокруг ссылок, работа которого часто непонятна и кажется странной, и с каждым годом с развитием языка это становится все запутанней и запутанней.
Исходная версия soomrack, :
В своем первом комменте я выразился несколько мутно. Моя мысль была в том, что обычному программисту на питоне или js, который не погружается глубоко в язык, не хочется указывать тип явно и эту возможность он воспринимает как «динамическая типизация», что, конечно, с формальной т.з. ей не является.
- переменная с именем «а» типа «А» может быть переиспользована для хранения переменной типа «Б»
звучит немного некорретно, правильней было бы сказать
«идентификатор переменной с именем «а» типа «А» может быть переиспользован для хранения переменной типа «Б»»
a = 100
Тут интерпретатор считает на основе своих правил, что это целый тип, и это я называю «угадыванием», т.к. в явном виде тип не задан, и если я где-то выше написал a=1.1, то после этой строчки тип внезапно может измениться, что кажется несколько странным с логической т.з.:
a = 1.1
print(type(a))
a = 100
print(type(a))
PS: для меня типизация в питоне это какой-то дикий синтаксический сахар вокруг ссылок, работа которого часто непонятна и кажется странной, и с каждым годом с развитием языка это становится все запутанней и запутанней.