Categories
python python-2.7 python-3.x string

working of \n in python

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

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.