From 6d8384f17122fb896a4bdce9cb88f2601f86d1c9 Mon Sep 17 00:00:00 2001 From: Ashish Agarwal Date: Tue, 26 Jun 2018 14:29:12 +0530 Subject: [PATCH] Update README.md Added Explanation for Backslash at the end of string --- README.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/README.md b/README.md index 92f515b..d761432 100644 --- a/README.md +++ b/README.md @@ -662,7 +662,23 @@ SyntaxError: EOL while scanning string literal 'wt\\"f' ``` - What the interpreter actually does, though, is simply change the behavior of backslashes, so they pass themselves and the following character through. That's why backslashes don't work at the end of a raw string. +- String quotes can be escaped with a backslash, but the backslash remains in the string; for example, r""" is a valid string literal consisting of two characters: a backslash and a double quote; r"" is not a valid string literal (even a raw string cannot end in an odd number of backslashes). Specifically, a raw string cannot end in a single backslash (since the backslash would escape the following quote character). Note also that a single backslash followed by a newline is interpreted as those two characters as part of the string, not as a line continuation. +Few examples : +>>> print(r"\"") +\" +>>> print(r"A\nB") +A\nB +>>> print(r"A\\nB") +A\\nB +>>> print("A\nB") +A +B +>>> print("A\\nB") +A\nB +>>> print("A\\\nB") +A\ +B --- ### ▶ not knot!