[解決済み】文字列フラグ "u "と "r "は一体何をするのでしょうか、そして生の文字列リテラルとは何でしょうか?
質問
質問中 この質問 私は、生の文字列についてあまり知らないことに気づきました。Django のトレーナーであることを主張する者にとって、これは最悪です。
エンコーディングが何であるかは知っています。
u''
のみで、何がUnicodeなのかがわかるので。
-
しかし、何をするかというと
r''
は具体的に何をするのでしょうか?どのような文字列になるのでしょうか? -
そしてなによりも、一体何のために
ur''
はどうするのですか? -
最後に、Unicode 文字列から単純な生の文字列に戻る、信頼できる方法はありますか?
-
あ、ちなみに、システムとテキストエディタの文字コードがUTF-8に設定されている場合は
u''
実際に何かをするのですか?
どのように解決するのですか?
特にありません。
文字列
があります。
文字列リテラル
でマークされた文字列リテラルと同じです。
'r'
を開始引用符の前に置く。
"生文字列リテラル"は、文字列リテラルの構文が少し異なり、その中にバックスラッシュがあります。
\
改行、タブ、バックスペース、フォームフィードなどを表すエスケープシーケンスもありません。 通常の文字列リテラルでは、エスケープシーケンスの開始とみなされないように、各バックスラッシュを2重にする必要があります。
この構文のバリエーションが存在するのは、正規表現パターンの構文がバックスラッシュを多用し(ただし最後には使わないので、上記の "except" 節は関係ない)、それぞれを二重にしない方が見た目が少し良くなる -- それだけである。 また、(他のプラットフォームのように通常のスラッシュの代わりにバックスラッシュで)Windowsネイティブのファイルパスを表現することも人気がありましたが、これは非常に稀で(Windowsでも通常のスラッシュはほとんど正常に機能するため)不完全です(上記の "except" 節があるため)。
r'...'
はバイト文字列です(Python 2.*の場合)。
ur'...'
はUnicode文字列(これもPython 2.*の場合)、他の3種類のクォートも全く同じ種類の文字列を生成します(したがって、例えば
r'...'
,
r'''...'''
,
r"..."
,
r"""..."""
はすべてバイト列、といった具合に)。
とはどういう意味ですか? バック という文字列は存在しないので、本質的に戻る方向と進む方向はありません。 タイプ これは、バイトやユニコードなど、ごく普通の文字列オブジェクトを表現するための代替構文に過ぎないのです。
そして、そう、Python 2.*では。
u'...'
は
とは常に区別されます。
'...'
-- 前者はユニコード文字列で、後者はバイト文字列です。前者はユニコード文字列、後者はバイト文字列です。リテラルがどのようなエンコーディングで表現されるかは、完全に独立した問題です。
例:(Python 2.6)を考えてみましょう。
>>> sys.getsizeof('ciao')
28
>>> sys.getsizeof(u'ciao')
34
もちろん、Unicodeオブジェクトはより多くのメモリ空間を必要とします(非常に短い文字列に対しては、明らかに非常に小さな違いです;-)。
関連
-
[解決済み】numpy: true_divide で無効な値に遭遇
-
[解決済み] urllib、urllib2、urllib3、requestsモジュールの違いは何ですか?
-
[解決済み] 文字列リテラルの前にある'b'文字は何を意味するのでしょうか?
-
[解決済み] Pythonのリストメソッドであるappendとextendの違いは何ですか?
-
[解決済み] パラメータに**(ダブルスター/アスタリスク)、*(スター/アスタリスク)がありますが、これはどういう意味ですか?
-
[解決済み] mixinとは何か、なぜ有用なのか?
-
[解決済み] Pythonの__future__は何に使うのか、いつ、どのように使うのか、その仕組みについて
-
[解決済み】__str__と__repr__の違いは何ですか?
-
[解決済み】type()とisinstance()の違いは何ですか?)
-
[解決済み] エンコード/デコードの違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Python関数の高度な応用を解説
-
Python カメの描画コマンドとその例
-
Pythonの学習とデータマイニングのために知っておくべきターミナルコマンドのトップ10
-
PyQt5はユーザーログインGUIインターフェースとログイン後のジャンプを実装しています。
-
Pythonの画像ファイル処理用ライブラリ「Pillow」(グラフィックの詳細)
-
[解決済み】ilocが「IndexError: single positional indexer is out-of-bounds」を出す。
-
[解決済み】Django: ImproperlyConfigured: SECRET_KEY 設定は空であってはならない
-
[解決済み] builtins.TypeError: strでなければならない、bytesではない
-
[解決済み】Python elifの構文が無効です【終了しました
-
[解決済み] 文字列リテラルの前に "r "を付けるとどういう意味になりますか?重複