python - Why do backslashes appear twice? -


when create string containing backslashes, duplicated:

>>> my_string = "why\does\it\happen?" >>> my_string 'why\\does\\it\\happen?' 

why?

what seeing representation of my_string created __repr__() method. if print it, can see you've got single backslashes, intended:

>>> print(my_string) why\does\it\happen? 

you can standard representation of string (or other object) repr() built-in function:

>>> print(repr(my_string)) 'why\\does\\it\\happen?' 

python represents backslashes in strings \\ because backslash escape character - instance, \n represents newline, , \t represents tab.

this can trouble:

>>> print("this\text\is\not\what\it\seems")    ext\is ot\what\it\seems 

because of this, there needs way tell python really want 2 characters \n rather newline, , escaping backslash itself, one:

>>> print("this\\text\is\what\you\\need") this\text\is\what\you\need 

when python returns representation of string, plays safe, escaping backslashes (even if wouldn't otherwise part of escape sequence), , that's you're seeing. however, string contains single backslashes.

more information python's string literals can found at: string , bytes literals in python documentation.


Comments

Popular posts from this blog

angularjs - ADAL JS Angular- WebAPI add a new role claim to the token -

php - CakePHP HttpSockets send array of paramms -

node.js - Using Node without global install -