Pythonの文字列を拡張する機能として、文字列の先頭にf、rをつける、f文字列、r文字列というものがあります。
目次
1.f文字列(フォーマット文字列)
文字列の中に変数を埋め込みたいというような場合に、これまでは .format() あたりを使用していましたが、これが簡単にできるようになったというものです。
これまでは、たとえば、
address= 'Tokyo' sports = 'soccer' print("I live in {0}. I like {1}.".format(address, sports))
上記例:「I live in Tokyo. I like soccer.」
としていました。
formatメソッドの場合は文字列中に使用する変数を決めて、順番を指定して使用するというような指定の仕方が必要でした。
これを、
address= 'Tokyo' sports = 'soccer' print(f"I live in {address}. I like {sports}.")
と書くことができるようになりました。
文字列""の前にfまたはFを置くことになります。
これにより{}内の置換フィールドにそのまま変数を指定できるというような指定ができるようになりました。
また、以下のように置換フィールド内に式を記述することもできます。
x=5 y=7 print(f'{x} + {y} = {x + y}') print(f'{x} + {y} = {add(x,y)}')
上記例(3,4行目共):「5+7=12」
2.r文字列(raw文字列)
Pythonでは、通常の文字列では表せない文字列(タブ、改行、改ページ)を表す時に'\'(バックスラッシュ)をつけたエスケープシーケンスで表します。
そのため、文字列中に'\'(バックスラッシュ)があった場合には、通常はエスケープシーケンスと判断されます。
これに対して、文字列""の前にrまたはRを置いてr文字列とした場合にはエスケープシーケンスと判断されなくなります。
これはパス指定をするような場合などに役に立ちます。
これまでは、たとえば、
print('Japan:Tokyo\nAmerica:NewYork') # Japan:Tokyo # America:NewYork
上記例:「Japan:Tokyo
America:NewYork」
となっていました(\nが改行の意)。
また、パス指定をするような場合には(c:\abc\def\ghiというパス指定)、
r文字列を使用しない通常の文字列の場合、
print("パスの指定先は c:\\abc\\def\\ghi です")
としていましたが、
r文字列の場合、
print(r"パスの指定先は c:\abc\def\ghi です")
となります。
r文字列の場合、'\'(バックスラッシュ)をエスケープしないでそのまま記述できるようになります。
3.f文字列、r文字列の組み合わせ使用
f文字列、r文字列は組み合わせて使用することもできます。
たとえば、今までのf文字列、r文字列の例を組み合わせて、
x=5 y=7 print(fr"'{x} + {y} = {x + y}:パスの指定先は c:\abc\def\ghi です")
とすると、
上記例:「5+7=12:パスの指定先は c:\abc\def\ghi です」
となります。
文字列""の前にfrを置くことで組み合わせ指定できます。
以上がf文字列、r文字列とその組み合わせ指定の紹介となります。
関連記事:
【Python】キーボード、キー入力判定方法 - Django Girls and Boys 備忘録
【Python】keyboardライブラリでのキー入力検出に使用可能なキーの種類 - Django Girls and Boys 備忘録
【PythonからWeb操作】seleniumのインストール手順 - Django Girls and Boys 備忘録
【PythonによるExcelファイルの読み書き】PythonのダウンロードからExcelファイルの読み書きまでの一通りすべての方法 - Django Girls and Boys 備忘録
【Python】おすすめ学習本ランキング8選 - Django Girls and Boys 備忘録
【PythonでのExcelファイル読み書き方法】ファイルオープンしているファイル(アクティブファイル)への書込方法 - Django Girls and Boys 備忘録
【Python Selenium】Webサイトのスクレイピングなどで必要なフレーム間移動方法 - Django Girls and Boys 備忘録
【Python Selenium】ブラウザ用ドライバーのダウンロードとインストール方法 - Django Girls and Boys 備忘録
【PythonからWeb操作】selenium、各ブラウザ用ドライバーの最新バージョン確認、ダウンロード場所 - Django Girls and Boys 備忘録
【Python Selenium】新規ウインドウ追加時のウインドウ切替方法 - Django Girls and Boys 備忘録
【Python Selenium】ウインドウ表示時などでのWaitの方法、待機方法 - Django Girls and Boys 備忘録
【Python Selenium】新規ウインドウ(新規タブ)追加時のウインドウ切替方法(追加ハンドルをハンドル差異比較にて取得) - Django Girls and Boys 備忘録
【python】実行時に表示されるコンソールウインドウを非表示にする方法 - Django Girls and Boys 備忘録
【Python Selenium】Webサイトのソースコードをファイル保存する方法 - Django Girls and Boys 備忘録
【Python Selenium】EdgeのI.E.モード操作の事前準備での設定 - Django Girls and Boys 備忘録
【Python Selenium】EdgeのI.E.モードでブラウザ操作する場合のドライバー設定方法と簡単な起動例 - Django Girls and Boys 備忘録
【Python】キー入力によるプログラム終了処理、ループを抜けて次の処理へ移行する処理 - Django Girls and Boys 備忘録
【Python Excel】ExcelからのPython実行ファイル(アプリケーションファイル)起動方法 - Django Girls and Boys 備忘録
【Python Seleuium】ブラウザの拡大率の設定変更 - Django Girls and Boys 備忘録
【Python Selenium】EdgeのI.E.モードのドライバー設定での拡大率、保護モード設定チェックを無視する方法 - Django Girls and Boys 備忘録
【Python】ログイン中のユーザ名を取得する方法 - Django Girls and Boys 備忘録
【Python Selenium】クローリング、スクレイピングにて対象ウインドウのソースコードを調べる方法 - Django Girls and Boys 備忘録
【Python Selenium】ウインドウのURLを指定して画面展開する方法と現在表示されているウインドウのURLとタイトルを取得する方法 - Django Girls and Boys 備忘録
【Python Selenium】ウインドウハンドル取得方法 - Django Girls and Boys 備忘録
【Python Selenium】ウインドウ内の要素取得、キーボード入力などする方法(name属性、id属性、class属性) - Django Girls and Boys 備忘録
【Python Selenium 要素取得】ウインドウハンドル取得方法(Chrome用) - Django Girls and Boys 備忘録
【Python Selenium】ウインドウ内の要素取得、キーボード入力などする方法(name属性、id属性、class属性)(Chrome用) - Django Girls and Boys 備忘録
【Python Selenium】f文字列(フォーマット文字列)、r文字列(raw文字列)について - Django Girls and Boys 備忘録
【Python】エスケープシーケンス(エスケープ文字)について - Django Girls and Boys 備忘録
【Python Selenium】ActionChainsによるキーの同時押し、連続操作などの使用方法 - Django Girls and Boys 備忘録