簡単に説明しましょう。Python2では、文字列を2つの異なるタイプで格納できます。
最初のものはASCIIです。、Pythonのstrタイプの、1バイトのメモリを使用します。(256文字、主に英語のアルファベットと単純な記号を格納します)
2番目のタイプはUNICODEです。ユニコードのpythonを入力します。Unicodeはすべてのタイプの言語を格納します。
デフォルトでは、Pythonはstrタイプを優先しますが、Unicodeタイプで文字列を保存する場合は、u'text 'のようにテキストの前にuを付けることができます。か、unicode(' text ')を呼び出してこれを行うことができます。
したがって、uはstrをunicodeにキャストする関数を呼び出すための短い方法です。それでおしまい!
次に、rの部分をテキストの前に置いて、テキストが生のテキストであることをコンピュータに伝えます。バックスラッシュはエスケープ文字であってはなりません。r '\ n'は改行文字を作成しません。これは、2文字を含むプレーンテキストです。
変換したい場合はSTRをするユニコードともそこに生のテキストを入れて、利用ウルのでruが、エラーが発生します。
今、重要な部分:
rを使用してバックスラッシュを1つ格納することはできません。これは唯一の例外です。したがって、このコードはエラーを生成します:r '\'
バックスラッシュ(1つのみ)を格納するには、「\\」を使用する必要があります
あなたは以上の1つの文字を格納したい場合は、まだ使用することができ、Rのようなr「を\\」あなたが期待通りに2つのバックスラッシュを生成します。
rが1つのバックスラッシュストレージで機能しない理由はわかりませんが、その理由はまだ誰にも説明されていません。バグだといいですね。