- 2018-8-8
- pythonプログラミング, 関数
- format関数, python
- 【Python】format関数で実現できる便利な使い方 はコメントを受け付けていません
この記事ではformat関数で実現できる便利な使い方について
解説します。
たとえば、format関数を使えば
あなたの思い通りの場所に
文字列を代入することができるようになります。
それでは本題に入っていきます。
目次
【Python】format関数の使い方基本
まずformat関数を使った例題からやっていきましょう。
#例題1 a = '非正規労働者に{}'.format('なりたくない。') print(a)
上記で、printとか『a =』とかよくわからない方は
こちらの記事を先に読んでみてくださいね。
⇒【Python入門】変数の代入についてわかりやすく解説
⇒【python】printで文字列を改行する方法と改行しない方法
話を元戻しますね。
例題1を実行すると
『非正規労働者になりたくない』と表示されます。
こんな感じで
.format('なりたくない。')
とformatの中に入っている文字列を
'非正規労働者に{}'
の中の{}に代入させています。
これを変数aに代入し
print(a)
によって
変数aに入った『非正規労働者になりたくない』という文字列を
表示させているわけですね。
「変数aに代入とか、よくわかんないよ」という方、
先にこちらの記事をご覧ください。
⇒【Python入門】変数の代入についてわかりやすく解説
次に例題2を使って、
上記のことが理解できたか、
確認してみましょう。
#例題2 b = '非正規労働者に{}'.format('なっちゃった。') print(b)
例題2では変数bを使っていますが
例題1と考え方はまったく同じです。
format関数に入っている’なっちゃった。’を
‘非正規労働者に{}’の{}に代入し
それを変数bに代入しているだけです。
結果、
『非正規労働者になっちゃった。』
と表示されます。
【Python】format関数の使い方(複数の{}があるパターン)
例題1と例題2でformat関数の基本がわかったと思います。
では次に、{}が複数ある場合の具体例をみていきましょう。
#例題3 c = '非正規労働者に{}{}{}'.format('なる','かも','しれない。') print(c)
例題3では{}が3つありますね。
formatの中にも
format('なる','かも','しれない。')
シングルクオーテーション(’)で囲まれた文字列が
『’なる’』,『’かも’』,『’しれない。’』と3つ入っています。
例題3を実行すると
『非正規労働者になるかもしれない。』と表示されます。
こんな感じで、{}{}{}と3つあった場合、
後ろのformat関数に入った文字列を前から順番に
代入していきます。
最初の{}に『なる』が、
次の{}に『かも』が
三番目の{}に『しれない。』が
それぞれ入った結果、
『非正規労働者になるかもしれない。』
となったわけですね。
【Python】format関数の使い方(代入する順番を入れ替える)
ここで、「じゃ、{}{}{}とあったら必ず
順番にしか文字列を代入できないの?
AIの時代にそんなに融通が利かないの?」
と疑問に感じた方もいるかもしれません。
AIの時代ですからね。
代入する順番を入れ替えることは可能ですよ。
#例題4 c = '非正規労働者に{2}{0}{1}'.format('なる','かも','しれない。') print(c)
pythonでは数字を数えるとき
0から数えます。
なので{}に代入する順番も0,1,2,・・・
と考えてみてください。
で、例題4のように{}の中に文字列を代入する順番を
指定しておくことができます。
実行すると
『非正規労働者にしれない。なるかも』となります。
{2}に『しれない。』が{0}に『なる』が{1}に『かも』が
それぞれ代入されたってわけです。
ではこれはどうでしょう?
#例題5 c = 'フラストレーションで{2}{0}{1}{3}'.format('上がり','そうに','心拍数が','なっている') print(c)
今度は{}が4つあるパターンですね。
『フラストレーションで心拍数が上がりそうになっている。』
という文章を完成させましょう。
そのために
'フラストレーションで{2}{0}{1}{3}'
という順番にしました。
順番は0,1,2,3となりますから。
{2}は『心拍数が』、{0}は『上がり』、
{1}は『そうに』、{3}は『なっている。』
です。
実行すると
となります。
【Python】format関数の使い方|変数を利用する
では次に変数を使った方法について解説します。
「変数ってよくわからない」
という方はこちらの記事をご覧ください。
それでは例題をやっていきましょう。
#例題6 c = '借金で{namae}{josi}{dousi}'.format(namae='太郎君',josi='は',dousi='破産した。') print(c)
実行するとこうなります。
こんな感じで
『namae』、『josi』、『dousi』
という変数の中にformat関数を使って
文字列を代入することができます。
namaeという変数の中に『太郎君』
josiという変数の中に『は』
dousiという変数の中に『破産した。』
をそれぞれ代入しました。
では、次は数字を代入してみましょう。
format関数は文字列だけでなく、
数字も代入することができます。
#例題7 c = 'せーの!{namae}{josi}{dousi}'.format(namae=1,josi=2,dousi=3) print(c)
例題7のように数字を代入するときには
シングルクオーテーション(’)や
ダブルクォーテーション(”)は
外しましょう。
例題6ではnamae=’太郎君’と
太郎君をシングルクオーテーションで囲ってましたね。
でも、例題7ではnamae=1と
シングルクオーテーションで囲ってないですね。
これが数字と文字列の扱い方の違いです。
Pythonで型変換する方法
ここからは補足なのですが。
数字の1を文字列に変換したり
文字列を数時に変換することを型変換といいます。
先ほども解説しましたが
文字列と数字ではシングルクォーテーションを
つけたりつけなかったりと
処理の仕方が違ってきます。
なので、型変換の仕方を知っておいてください。
ただ、そもそも「型って何?」
と疑問に感じている方は
こちらの記事を先にご覧ください。
それでは例題8をやっていきましょう。
#例題8 c = 1 print(type(c))
型を調べるときにはtypeを使います。
c = 1
で整数の1をcに代入しました。
整数はint型といいます。
なので例題8を実行すると『int(型)』と
表示されます。
ではこの整数の1、言い方を変えると
int型の1を文字列に変換してみましょう。
文字列のことをstr型といいます。
なのでint型をstr型に型変換してみましょう。
例題9をご覧ください。
#例題9 c = str(1) print(type(c))
int型の1をstr型に変換するには
『str(1)』とすればOKです。
実行すると
とint型がstr型に型変換されていますね。
次に小数が入っている数字はfloat型といいます。
float型もstr型に型変換できます。
実際にやってみましょう。
まずは普通に小数の型をtypeで調べてみますね。
#例題10 c = 5.698 print(type(c))
実行すると
float型となっていますね。
このfloat型をstr型(文字列)に
型変換してみましょう。
#例題11 c = str(5.698) print(type(c))
実行すると
こんな感じでstrで5.698を()でくくれば
str型に型変換することができます。
以上で解説を終わります。
pythonを学ぶならこちらの動画講座がおすすめです
Python 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイルを学び、実践的なアプリ開発の準備をする
かなり長い講座名ですね。
わかりにくそうな感じがします。ですが、pythonの基礎からしっかりとわかりやすく教えてくれます。
また、きれいなコードを書くための方法についても
教えてくれるので、周りが「どうやってそんなコードを書いてるの?」
とびっくりされるようになるかもしれません。それからWebアプリケーション開発の基本的なテクニックについても
教えてくれます。なので、pythonを使ってwebアプリケーションを作ってみようと
思っている方にもおすすめです。値段は時期によって違います。
詳しくはこちらをご覧ください。
みんなのAI講座 ゼロからPythonで学ぶ人工知能と機械学習
この講座ではまずpythonの基礎を学びます。
次に人工知能について学んでいきます。そして最終的にはpythonを使って文字認識や株価分析ができるような技術力が身につくようになっています。
単純に教科書的なpythonを学ぶのではなく
仕事でも使えるスキルを身につけたい方におすすめの講座です。なのに値段は恐ろしいほど安いです。
時期によって値段は変動するので
詳しくはこちらをご覧ください。
Pythonで機械学習:scikit-learnで学ぶ識別入門
この動画講座は広島大学准教授の先生が担当しています。
機械学習が専門の先生です。すごく深い知識が身につきます。
大学の先生の講義って難しそうってイメージがあるかもしれません。でもそんなことはありません。
すごくわかりやすいです。pythonで機械学習のスキルを身につけたい方におすすめです。
値段は時期によって違いますが、かなり、良心的な価格になっています。詳しくはこちらをご覧ください。