「文字列フォーマットって何?」「文字列の生成をもっと効率よくやりたい!」という疑問や悩みを持っていませんか?
そんな悩みや疑問を解消できるように、この記事ではPythonの文字列フォーマットについて解説しています。
この講座は、これからPythonを学ぼうとする初心者の方がPythonの基本を学ぶための講座です。
Pythonの代表的な構文の使い方を具体的なコードを例にして解説しています。
この記事は、以下のような方におすすめ!
Pythonで効率よく文字列を生成したい方
Pythonの基本を学びたい方
文字列フォーマットを利用すると、処理結果を文字列として出力する際に非常に便利です。
この記事を読めば、Pythonの文字列フォーマットとは何かがわかり、効率よく文字列生成を実現できます!
Pythonの基本をマスターして、Pythonプログラマーとしての一歩を踏み出しましょう!
前回の振り返り
前回の記事では、Pythonのファイル操作について解説しました。
前回の記事は、Python初心者の方に好評のようで、自分でファイルを操作できた時に感激される方が多いようです。
もしまだチェックしてない方は、ぜひこちらの記事もチェックしておくことをおすすめします!
今回のゴール
では、改めて今回のゴールを確認しましょう。
今回のゴールは、Pythonの文字列フォーマットとは何かを理解し、実際に動作を確認することです。
処理結果を出力する際に文字列フォーマットを知っているととても便利です。
ぜひこの機会に手を動かして感覚を掴みましょう!
文字列フォーマットとは
Pythonの文字列フォーマットとは、文字列に変数や値を埋め込む方法です。
これにより、動的な文字列を簡単に作成できます。
Pythonには複数の文字列フォーマットの方法があり、それぞれに特徴があります。
文字列の生成
まずは基本的な文字列姿勢を確認して、
その後に文字列フォーマットであるformatメソッドや、f-strings記法についてみていきましょう!
文字列フォーマットがいかに強力かを体感できるはずです。
文字列結合
ここまでも何度か文字列の結合はコードの中に出てきましたが改めて確認しておきましょう。
'ap' 'ple'
'ap' + 'ple'
'apple'
'apple'
上記のように+
演算子を使っても使わなくても、文字列同士を結合することができます。
formatメソッド
フォーマットメソッドを利用すると、formatメソッドの引数を変えるだけで、出力結果を変更することができます。
'My favorit fruits are {0} and {1}'.format('apple', 'peach')
'My favorit fruits are apple and peach'
上記のように、{}
でインデックスを囲み文字列の中に埋め込むと、
formatメソッドの引数のインデックスと紐づいて文字列が出力されます。
よって、以下のように指定するインデックスを変更すると、それに応じた出力結果が得られます。
'My favorit fruits are {1} and {0}'.format('apple', 'peach')
'My favorit fruits are peach and apple'
また、formatメソッドはキーワード引数や辞書にも対応しています。
#キーワード引数
'My favorit fruits are {fruit1} and {fruit2}'.format(fruit1='apple', fruit2='peach')
'My favorit fruits are apple and peach'
辞書
basket = {'fruit1':'apple', 'fruit2':'peach'}
'My favorit fruits are {0[fruit1]} and {0[fruit2]}'.format(basket)
'My favorit fruits are apple and peach'
辞書を利用する場合は、アンパックすることで指定方法をシンプルにすることもできます。
辞書
basket = {'fruit1':'apple', 'fruit2':'peach'}
'My favorit fruits are {fruit1} and {fruit2}'.format(**basket)
'My favorit fruits are apple and peach'
また、数値のフォーマットにも使うことができます。
数値の場合は、以下のように少数点以下何位までを表示するかを指定することができます。
score = 98.75
'My score is {0:.1f}'.format(score)
'My score is 98.8'
{0:.1f}
の0
はこれまで同様、引数のインデックスを指定しています。
.1f
は小数点何位までを表示するかを示していて、f
は浮動小数点floart
を表しています。
今回の指定では、小数点第二位を四捨五入して丸められていることがわかります。
f-strings記法
f-strings記法もとても強力な記法なのでご紹介します!
f文字列や、フォーマット済み文字列リテラルと呼ばれている記法です。
上記では、format
メソッドを用いて、プレイスホルダーを置換する形をとっていましたが、
f-stringsで記法すると、直接変数を埋め込むことができます。
記法は、定義する文字列の頭にf
、または、F
を付けて定義します。
※Python 3.6以降でサポートされているので、実行環境には注意してください。
str1 = 'apple'
str2 = 'peach'
f'My favorit fruits are {str1} and {str2}'
'My favorit fruits are apple and peach'
score = 98.75
f'My score is {score:.1f}'
'My score is 98.8'
調べてみると、ほかにもたくさんの記法があるようです。
今回はご紹介できませんが、興味がある方は、是非公式ドキュメントを当たってみると面白いですよ!
まとめ
今回の記事では、Pythonの文字列フォーマットついて解説しました。
今回のポイントをまとめると、次のとおりです。
- 文字列フォーマットとは文字列に変数や値を埋め込む方法
- 文字列フォーマットを利用すると文字列を生成する際に非常に便利
- 文字列フォーマットには様々な記法があるがPythonのバージョンによっては対応していない可能性がある
Pythonの文字列フォーマットを理解して、早速使ってみたいと思っていただけたのではないでしょうか。
Pythonの文字列フォーマットを利用すれば、非常に便利に出力文字列を生成することができます。
ぜひこの記事を参考にして、Pythonの文字列フォーマットをマスターしてください!
以上、最後までお読みいただきありがとうございました。
未経験からのITエンジニア転職に挑戦したい方へ
転職も含めて真剣にプログラミングスキルを手に入れたいとお考えの方に、おすすめの方法をご紹介します。
結論から言うと、それは転職活動とスキル学習を同時に進める方法です!
同時に進める理由は、転職成功までの時間を短縮するためなんですが、
でも昼間は学校や本業もあるのに、転職活動と学習を同時にって無理!
って思いますよね?
そんな忙しい方には、スキル学習と転職サポートが一体となているウズカレIT
しかも、学習サポートも転職サポートも無料で利用できます!
ウズカレITはITスクールのウズウズカレッジ
体系的かつ総合的に学習サポートを受けることができます。
ITエンジニアはまだまだ売り手市場で、未経験可の求人もたくさんあります。
一度、ウズカレITの無料相談で不安に思ってることなどを相談してみるのがオススメです。