Pythonでformat関数を使う方法【初心者向け】
初心者向けにPythonでformat関数を使う方法について解説しています。文字列内に変数を入れ表示させることができます。ユーザーが入力した情報を使いたいなど様々なシーンで役立つので、覚えておくと良いでしょう。書き方も詳しく解説しています。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
Pythonでformat関数を使う方法を解説します。
ユーザーが入力した情報を元に表示を指定したい時に便利な関数です。実際に書きながら理解すると、今後も使える知識になるでしょう。
なお本記事は、TechAcademyのPythonオンライン講座の内容をもとにしています。
Pythonのformat関数とは
Pythonのformat関数は、文字列内に変数を埋め込むことができます。
文字列内に変数を埋め込むメリットとしては、文字列内で動的に代わる変数を利用することができる事です。
変数とは
Pythonの変数とは、値を入れる箱です。箱の中には、文字や数字を自由に入れることができます。
Pythonでは予約語と呼ばれる事前に定められた単語以外であれば、英数文字と_(アンダースコア)を使用したものであれば、変数名や配列名として使用することができます。
Pythonのformatの書き方
Pythonのformatは次のようは文法で記載します。
'任意の文字列{}任意の文字列'.format(変数)
任意の文字列と書いた部分は前後にある必要はありません。
次のように、どちらか一方でも大丈夫です。
'{}任意の文字列'.format(変数)
Python2.6より前の変数埋め込み方法
format関数を使用できるのは、Python2.7かPython3からです。
つまり、それ以前のPython2.6バージョンでは別の方法で変数の埋め込みを行っていました。
例えば、文字列を埋め込む場合は、文字列を表すstring型を意味する%sを使用して埋め込んでいました。
print '%s任意の文字列' % 変数
Pythonのformatを実際に書いてみよう
それでは、Python2.7とPython3以降のPythonで使用可能なformat関数を実際に書いてみましょう。
今回は、3個の変数を利用してformat関数を使用しています。
Pythonのprint文は文字や変数を表示することができます。
Pythonでprint関数を使う方法の記事も合わせてご覧ください。
formatのプログラムソースコード
val1 = '未経験転職' val2 = '現職エンジニアが講師' val3 = '短期プログラミング学習' print('{0}は {1} を目指して {2} が {3} を全力サポート '.format('テックアカデミー',val1,val2,val3,))
表示結果
テックアカデミーは 未経験転職 を目指して 現職エンジニアが講師 が 短期プログラミング学習 を全力サポート
以下は、ソースコードの中身について詳しく解説しています。
1行目では、val1 = ‘未経験転職’により変数val1に未経験転職という文字列を代入しています。
2行目では、val2 = ‘現職エンジニアが講師’により変数val2に現職エンジニアが講師という文字列を代入しています。
3行目では、val3 = ‘短期プログラミング学習’により変数val3に短期プログラミング学習という文字列を代入しています。
4行目では、print(‘{0}は {1} を目指して {2} が {3} を全力サポート ‘.format(‘テックアカデミー’,val1,val2,val3,))により、{0}に対してテックアカデミーを、{1}に対しては変数val1を、{2}に対しては変数val2を、{3}に対しては変数val3を、それぞれ当てはめて処理しています。
str.format()について
str.format()メソッドを利用すると、文字列と数字などを組み合わせてフォーマットする事が可能になります。
ここでは、コマンドライン上でstr.format()を利用した簡単な例を紹介します。
str.format()を実装した例
>>> '1 + 2 の合計は {0}'.format(1+2)
str.format()を実行した結果
1 + 2 の合計は 3
str.format()の実装解説
「1 + 2 の合計は」の部分は文字列です。
{0}の部分も、最終的には文字列として表示されます。0(ゼロ)と指定することで、str.format()を利用する際の最初の値を指定しています。
結果的に、format(1+2)の部分の計算結果が、{0}の部分に代入され、コマンドライン上で「1 + 2 の合計は 3」と表示されます。
以上、format関数の使い方について解説しました。
入門向けPythonの学習サイトも記事にしているので、学習したい方は参考にしてみてください。
また、オンラインのプログラミングスクールTechAcademyではPythonを使って機械学習の基礎を学ぶPythonオンライン講座を開催しています。
初心者向けの書籍を使って人工知能(AI)や機械学習について学ぶことができます。
現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、習得することが可能です。
独学に限界を感じている方はぜひご覧ください。
この記事を監修してくれた方
中本賢吾(なかもとけんご) 開発実績:PHPフレームワークによるフランチャイズ企業向け会員制SNS。Shopifyによる海外進出用大規模ネットショップ構築。Vue.jsによる金融機関向け内部アプリ。AWSやLinuxハウジングサーバーでの環境構築。人工知能を利用した画像判別システム。小売チェーン店舗用スマホアプリ。Wordpressによる不動産チェーン店向け賃貸・売買仲介システム。基幹システム移管用データコンバートシステム。
小学生がUnityでオリジナルAndroidアプリをGooglePlayでリリース、NHK Whyプログラミング入賞、全国Programing Festival入賞、中学生がノーコードでSNS型PWAアプリリリースなど、ボランティアプログラミング教育活動行っている。 |