Вдохновлен этим вопросом о кэшировании небольших целых чисел в Python.
Может ли компилятор Python заменить (0–6) на -6 во время компиляции? Код ниже предполагает, что это не так. Если это невозможно, то почему бы и нет? Я не думаю, что значение 0, - или 6 может отличаться во время выполнения.
Если это возможно, почему CPython этого не делает?
# test_integers.py
def test_integers():
print "-6 is -6 ?", -6 is -6 # True
print "(0 - 6) is -6 ?", (0 - 6) is -6 # False
# import_test_integers.py
import test_integers
test_integers.test_integers()
Мои сведения о Python на случай, если это сильно зависит от реализации:
Python 2.6.5 (r265:79063, Apr 16 2010, 13:09:56)
[GCC 4.4.3] on linux2
Подробнее здесь: https://stackoverflow.com/questions/114 ... arithmetic
Может ли компилятор Python оптимизировать целочисленную арифметику? ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как я могу сгенерировать определение препроцессора, используя арифметику?
Anonymous » » в форуме C++ - 0 Ответы
- 13 Просмотры
-
Последнее сообщение Anonymous
-