2015-07-18 2 views
4

В настоящее время я курсирую на питоне. Говоря об управляющих последовательностях, которые они рассказали о "\n", используется для печати строк в новой строке. Но когда она используется в следующих случаях, почему я получаю другой выходРабота n в python

>>> st = "Hello\nWorld" 
>>> st 
'Hello\nWorld' 

Но если я

>>> print st 
Hello 
World 
+2

Также см. [Разница между '__str__' и' __repr__' в Python] (http://stackoverflow.com/q/1436703/4014959) –

+0

Другая связанная ссылка: [Понятие функции repr() в Python] (http: //stackoverflow.com/q/7784148/4014959) –

ответ

5

Есть две функции, которые дают строковое представление объекта, repr() и str(). Первая предназначена для преобразования объекта в строку с кодом, в то время как последняя дает удобную для пользователя строку.

При вводе имени переменной в командной строке используется repr(), а символ \n показан как \n (в виде кода). Когда вы используете print, используется str(), а \n показана в виде новой строки (для удобства).


Кстати, str это плохое имя для переменной, так как это то же самое, как встроенный.

0

Когда вы

st 

Он немного похож на

"\n" 

где вы ожидаете строка \n взамен, а не новая строка.

В обоих случаях функция печати не называется, которая фактически может обрабатывать то, что действительно означает \n. Вот почему print 'Hello\nWorld' дает различные результаты, чем

>>> 'Hello\nWorld' 
Смежные вопросы