Форум сайта python.su
doza_andЗвучит как недостаток (а в питоне, может). Особенно если опустить “проблемы” проверки тип на стадии компиляции и скорости исполнения.
и тип не может быть изменён позже
Офлайн
А зачем может понадобится менять тип объекта, не очень понимаю.
Офлайн
doza_andРади исторической справедливости, template появились в c++ очень давно, где-то в девяностых. У меня есть диск с компиляторами 1998 года они там уже вовсю используются.
дженерики которые недавно появились в плюсах и черт знает когда в джаве и сишарпе
FishHookНу конечно, для строк умножение в c++ не определено. Доопределите и будет работать. Абсолютно аналогично будет и питон работать:
Где хочешь там и вставляй.
def dva(obj): return obj*2 >>> dva({2:3,1:3}) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<stdin>", line 2, in dva TypeError: unsupported operand type(s) for *: 'dict' and 'int'
Отредактировано doza_and (Авг. 19, 2013 21:35:50)
Офлайн
o7412369815963есть только в проекте http://www.mypy-lang.org/
Что если с этой стороны посмотреть?
Офлайн
lorienФраза очень хорошо показывает недопонимание сути.
А зачем может понадобится менять тип объекта, не очень понимаю.
Офлайн
Я спрашивал не o type casting, который сплошь и рядом, а о смене типа у объекта. Зачем нужен type casting вопроса у меня не возникает.
> foo = “4”
> bar = int(foo)
Это не смена типа объекта, это создание нового объекта
> foo = “4”
> foo = int(foo)
Это тоже создание нового объекта.
Что такое один и тот же объект в моём понимании? Это когда id(foo) == id(bar)
Я просто неправильно прочитал слова , почему-то про изменение типа одного и того же объекта подумал.
> В нетипизированных языках отсутствует понятие типа, поэтому нельзя изменить тип.
Это что за языки такие? Даже в php и javascript есть типы.
Офлайн
lorienНаписал так в смысле организации и способа хранения переменных в памяти.
> В нетипизированных языках отсутствует понятие типа, поэтому нельзя изменить тип.
Это что за языки такие? Даже в php и javascript есть типы.
Офлайн
разница в том что в статически типизированных тип привязывается к имени переменной, а в динамически типизированных нет. Тип у объектов есть и там, и там.
Отредактировано bismigalis (Авг. 20, 2013 11:38:04)
Офлайн
На хабре небольшой холивар появился про типизацию
Офлайн
a = 100 a+= 999999999999999999
int a = 0;
a = a+ 99999999999999999999;
Офлайн