Was ist der Unterschied zwischen einem Newline-Zeichen und dem tatsächlichen Schreiben von etwas in einer Newline?Python

Python-Programme
Anonymous
 Was ist der Unterschied zwischen einem Newline-Zeichen und dem tatsächlichen Schreiben von etwas in einer Newline?

Post by Anonymous »

Siehe Folgendes:
Fall 1:

Code: Select all

Hi\nHello
Fall 2:

Code: Select all

Hi
Hello
Beide sind in Textdateien zu finden. Deshalb habe ich einige Experimente durchgeführt, um herauszufinden, ob es Unterschiede zwischen ihnen gibt:

Code: Select all

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]
Ich kann absolut keinen Unterschied zwischen ihnen feststellen. Wenn sie nun gleich sind, wie werden sie dann intern dargestellt, damit sie im Text unterschiedlich angezeigt werden können?
Update:
Wenn Sie eine Textdatei mit folgendem Inhalt erstellen:

Code: Select all

Hi\nHello
Hi
Hello
Und lesen Sie es:

Code: Select all

In [1]: with open("newline.txt", "r") as f:
...:     data = f.read()
...:

In [2]: data
Out[2]: 'Hi\\nHello\nHi\nHello'
Dann werden Sie den Unterschied sehen (

Code: Select all

\\n
vs \n).
Aber wenn Zeichenfolgen aus dieser Datei kopiert und in einen Code eingefügt werden, verhalten sie sich gleich:

Code: Select all

In [4]: """Hi\nHello
...: Hi
...: Hello"""
Out[4]: 'Hi\nHello\nHi\nHello'

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post