В чем разница между символом новой строки и фактическим написанием чего-либо в новой строке?Python

Программы на Python
Ответить
Anonymous
 В чем разница между символом новой строки и фактическим написанием чего-либо в новой строке?

Сообщение Anonymous »

См. следующее:
Случай 1:
Hi\nHello

Случай 2:
Hi
Hello

Оба они находятся в текстовых файлах. Итак, я провел над ними несколько экспериментов, чтобы выяснить, есть ли между ними какие-либо различия:
In [1]: print("""Hi\nHello""")
Hi
Hello

In [2]: print("""Hi
...: Hello""")
Hi
Hello

In [3]: s1 = """Hi\nHello"""

In [4]: s2 = """Hi
...: Hello"""

In [5]: repr(s1)
Out[5]: "'Hi\\nHello'"

In [6]: repr(s2)
Out[6]: "'Hi\\nHello'"

In [7]: s1.split()
Out[7]: ['Hi', 'Hello']

In [8]: s2.split()
Out[8]: ['Hi', 'Hello']

In [9]: list(s1.encode("utf-8"))
Out[9]: [72, 105, 10, 72, 101, 108, 108, 111]

In [10]: list(s2.encode("utf-8"))
Out[10]: [72, 105, 10, 72, 101, 108, 108, 111]

Я не могу найти между ними никакой разницы. Теперь, если они одинаковы, то как они представлены внутри, чтобы их можно было по-разному отображать в тексте?
Обновить:
Если вы создадите текстовый файл со следующим содержимым:
Hi\nHello
Hi
Hello

И прочитайте:
In [1]: with open("newline.txt", "r") as f:
...: data = f.read()
...:

In [2]: data
Out[2]: 'Hi\\nHello\nHi\nHello'

Тогда вы увидите разницу (\\n vs \n).
Но когда строки из этого файла копируются и вставляются в код, они ведут себя одинаково:
In [4]: """Hi\nHello
...: Hi
...: Hello"""
Out[4]: 'Hi\nHello\nHi\nHello'


Подробнее здесь: https://stackoverflow.com/questions/798 ... g-somethin
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»