2016-06-15 4 views
0

Исполнительной python ex1.py с ex1.py содержания: print repr('foo') урожаевмагнезии() выход отличается в IDLE и Windows Powershell

'foo'

Но исполняющие repr('foo') на холостых выходах

"'foo'"

В качестве альтернативы, выполнение print repr('foo') на IDLE дает

'foo'

И исполнение python ex1.py с ex1.py содержания: repr('foo') ясно дает

\n

Для первых трех случаев ... что здесь происходит?

+0

Если вы запустили 'print repr ('foo')' в IDLE, вы получите те же результаты, что и его работа в другом месте, ввод текста в интерактивную консоль показывает «репрезентацию» результата, чтобы вы, по сути, (магнезии ('Foo')) ' –

ответ

2

repr('foo') - выражение, значение которого представляет собой 5-символьную строку 'foo'.

Поэтому:

  1. Печать результата repr('foo') покажет 'foo'.
  2. Ввод repr('foo') в интерпретаторе Python (например, оболочка IDLE) отображает объявление 'foo', которое равно "'foo'".
  3. Запуск скрипта Python, содержащего только код repr('foo'), не будет печатать ничего, поэтому вы просто получите пустой вывод (вероятно, добавляется ваша оболочка \n).
1

repr() - Возвращает строку, содержащую печатаемое представление объекта.

Выход print repr('foo') составляет 'foo'.

При запуске из оболочки вы получите выход с в кавычках (строка) =>"'foo'"

При запуске print repr('foo') из питона скрипта вы получите из строки напечатанной в виде =>'foo'

Когда вы просто положили repr('foo') в свой скрипт, вы ничего не получаете, поскольку у вас нет оператора печати для печати вывода.

Смежные вопросы