Python 2.6.6 (r266:84292, Aug 28 2012, 10:55:56)
[GCC 4.4.6 20120305 (Red Hat 4.4.6-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import math
>>> print math.pi
3.14159265359
>>>
Повторяю ответ: чтобы интерпретатор/разработчик интерпретатора/мэйнтейнер пакета не решали за меня, какой тип вывести. Как видно из треда, иногда на каком-то этапе может попасться неадекват.
Python 2.7.2+ (default, Jul 20 2012, 22:12:53)
[GCC 4.6.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import math
>>> print math.pi
3.14159265359
Повторяю ответ: чтобы интерпретатор/разработчик интерпретатора/мэйнтейнер пакета не решали за меня, какой тип вывести. Как видно из треда, иногда на каком-то этапе может попасться неадекват.
Повторяю вопрос зачем нужно идиотское управление типами в языке с динамической типизацией?
Числовая константа - вещь полиморфная. Число 12 может целым, длинным целым, фиксированным, двойной или одинарной точности. И это важно для разных задач. Как можно повлиять на тип этой константы 12?
Числовая константа - вещь полиморфная. Число 12 может целым, длинным целым, фиксированным, двойной или одинарной точности. И это важно для разных задач. Как можно повлиять на тип этой константы 12?
Его в Python нет, так что твой вопрос бессмысленен.
Ну по каким правилам будут операции-то производиться? Например у меня есть два достаточно больших числа. "Умный" интерпретатор их сделает int'ами (сишный long). Я их сложу и, вероятно, получу переполнение. Как быть?
Python 3.3.0 (default, Dec 22 2012, 21:14:17)
[GCC 4.7.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import math
>>> math.pi
3.141592653589793
Python 2.7.3 (default, Dec 22 2012, 21:27:36)
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import math
>>> math.pi
3.141592653589793
Ок, я уже посмотрел: при всех математических операциях происходит проверка на переполнение и изменение типа если что. Поэтому питон никогда не станет быстрым, кстати.
AFAIK, все вычисления, требующие скорости, на процессорах общего назначения выполняются с числами с плавающей точкой. Так что если Python и не станет быстрым, то не из-за проверки на переполнение.