[Richard Damon] > The one major issue with backslashes is that they are a special > character in string literals, so you either need to use raw literals a > remember the few cases they still act as special characters, or remember > to convert them to double back slashes, at a minimum for all the > characters that they are special for (easier to double them all).
> I think it was originally an error to make the backslash followed by a > character not defined as special with a backslash as keeping the > backslash as a literal as it causes a number of these issues. Yes, it > allows you to not need to double it in many cases but that just sets you > up for the mistakes that started the thread. It is probably too late to > change that behavior now though. Yes this would at least make less mistakes. I find the whole situation with strings a bit disappointing. On the one hand - there were so many string types added, on the other hand - there are still many inconveniences. There is an english proverb, "it does too much, but still too little". (or something like that) The initial string syntax -- I think it's direct copy of C strings syntax. And it sucks. (path dependency?) I'd say there should be just two main string types: 1. string literal where all special character goes into, say, figure braces {}; (if only there was a time machine) 2. raw strings, including multiline raw strings which should be PEP-8 compliant. So Imo default syntax should be something like: S = "A:{x41}B:{x42}" instead of backslashes and Co. -- https://mail.python.org/mailman/listinfo/python-list