Working of \N in Python [Duplicate]

I am currently taking a course in python. When talking about escape sequences they told about "\n" is used for printing strings in new line. But when it is used in the following ways why I am getting a different output

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

But if I do

>>> print st
Hello
World
2

There are two functions that give an object's string representation, repr() and str(). The former is designed to convert the object to as-code string, while the latter gives user-friendly string.

When you input the variable name in the command line, repr() is used, and \n character is shown as \n (as-code). When you use print, str() is used, and \n is shown as a new line (user-friendly).


By the way, str is a bad name for a variable, as it's the same as the built-in.

When you do

st

It is somewhat similar to

"\n"

where you expect the string \n in return, and not a new line.

In both cases, the print function is not called which can actually process what \n really means. That's why print 'Hello\nWorld' gives different output than

>>> 'Hello\nWorld'
Maya Lin-Takahashi

Maya Lin-Takahashi

Consumer Tech & Gadget Reviewer

Maya is a hardware enthusiast who tests and reviews smart home devices, smartphones, wearables, and audio gear. She focuses on practical consumer value and build quality.

Share this article
Twitter Facebook Pinterest