在Python的string前面加上‘r’, 是為了告訴編譯器這個string是個raw string,不要轉義 backslash '\' 。
例如,\n 在raw string中,是兩個字符,\和n, 而不會轉義為換行符。
由於正則表達式和 \ 會有沖突,因此,當一個字符串使用了正則表達式后,最好在前面加上'r'。
字符串前加 u = unicode編碼
例:u"我是含有中文字符組成的字符串。"
作用:后面字符串以 Unicode 格式 進行編碼,一般用在中文字符串前面,防止因為源碼儲存格式問題,導致再次使用時出現亂碼。
PS:不是僅僅是針對中文, 可以針對任何的字符串,代表是對字符串進行。一般英文字符在使用各種編碼下,基本都可以正常解析, 所以一般不帶u。
REF
https://www.cnblogs.com/fnlingnzb-learner/p/7886203.html
https://www.cnblogs.com/clemente/p/10183278.html