#python #import #pycharm #integer-overflow
#python #импорт #pycharm #целое число-переполнение
Вопрос:
Я пытаюсь очистить свой код. Я ввел в функцию очень простую целочисленную операцию. Если я выполняю определение функции и вызываю в консоли, она работает нормально. Если я импортирую функцию def и запускаю в скрипте, она завершается с ошибкой (выглядит как целое число с превышением / понижением, но я не понимаю, почему)
Вот что работает. Я выполняю следующее в консоли
def calculate_absolute_week_span(first_week, first_year, last_week, last_year):
start = 52 * (first_year - 1900) first_week
end = 52 * (last_year - 1900) last_week
return start, end
training_start, training_end = calculate_absolute_week_span(1, 2010, 34, 2018)
Вывод: training_start: 5721
Теперь я запускаю тот же код, что и скрипт (PyCharm).
from preprocessing import calculate_absolute_week_span
training_start, training_end = calculate_absolute_week_span(1, 2010, 34, 2018)
Вывод на этот раз: training_start: -62556
Аналогично, training_end отлично работает в первом примере и возвращает 6170, где я вижу -61426 в нижнем регистре.
Что я делаю не так?
Комментарии:
1. Я не могу воспроизвести проблему.
2. Я не использовал Pycharm, я просто поместил второй блок кода в другой файл сценария и запустил его с
python scriptname.py
3. Вы уверены, что он импортирует из файла, который вы считаете? Если вы добавите строку печати в функцию, увидите ли вы этот результат?
4. Я пробовал. Нет, я ничего не вижу напечатанного! Функция, похоже, выполняется, но ничего не напечатано. Странно… Я на 99,99% уверен, что нигде больше на этом компьютере не может быть никакого другого модуля «предварительная обработка» или функции «calculate_absolute_week_span»
5. Итак, что же на самом деле делает PyCharm? Он не выполняет функцию должным образом (очевидно), но возвращает некоторое возвращаемое значение. (Неправильные) возвращаемые значения могут быть воспроизведены.. это не просто случайное в любом месте памяти
Ответ №1:
Решается путем перезагрузки компьютера…