В вашем случае IDLE вы запускаете код в окне PyShell IDLE.Это работает интерактивный переводчик.В интерактивном режиме Python интерпретирует сразу каждую введенную строку и отображает возвращаемое значение, оценивая введенный оператор, плюс все, что записано в стандартный вывод или стандартную ошибку.Для Python 2 range()
возвращает список и, как вы обнаружили, в Python 3 он возвращает итеративный объект range()
, который можно использовать для создания объекта списка или использовать в другом месте в контекстах итерации.Python 3 range () аналогичен Python 2 xrange () .
Когда вы редактируете файл в редакторе, таком как Блокнот, вы пишете файл скриптаи когда вы запускаете файл в интерпретаторе Python, весь сценарий интерпретируется и запускается как единое целое, даже если он имеет длину только одну строку.На экране вы видите только то, что записано в стандартный вывод (например, «print()
») или стандартную ошибку (т.е. отслеживание ошибок);вы не видите результаты оценки каждого утверждения, как в интерактивном режиме.Итак, в вашем примере, при запуске из файла сценария, если вы не распечатываете результаты оценки чего-либо, вы этого не увидите.
В руководстве Python об этом немного говорится здесь .