ぬこ将軍です🐈
Pythonというプログラミング言語を使い始めて約1年。最近ではPythonを使う頻度も楽しさも増す日々です。
まだまだ知らない構文もあって、同じような関数でも使い方が全然違ったりなんてこともあります。
ということで今回は「Pythonのprint関数の小技」について書こうかと思います。
Pythonの勉強を始めたほぼすべての人が最初に遭遇する関数、それがprint関数ではないでしょうか?
かっこの中のものを出力するという非常にシンプルな関数ですが、実は様々な形式で出力ができる、というのはご存知でしょうか?
- プログラミング言語Pythonを始めたばかりで、どんどん知識を吸収したい!
- Pythonのコードをより簡単に書けるようになりたい!
そんな方々の参考になりましたら幸いです。その小技を知れば、あなたもきっとprint関数マスターへ近づくでしょう!
意外と知らない!?Pythonのprint関数の小技5選
上の画像はprint関数の超基本形です。今回はwとhという2つの変数にそれぞれ100、200の数値型データを代入し、wとhを出力という形をベースに書いてきます。
果たして、このwとhがどのように出力されていくのか?
小技1:Pythonのprint関数は、複数要素をいっぺんに出力可能
意外と知らない人が多いかもしれないこと、それは上の画像のように複数の出力を1つのprint関数のみで可能ということです。
・・・これ、実は自分は知らなくて、わざわざ1つずつprint関数を使って出力していたんですよね(笑)
ちなみに、3つ以上も出力できるしデータの型がバラバラでも可能です。
小技2:print関数で数値型と文字列型を連結させる方法
複数の変数を出力できるprint関数ですが、それぞれの変数を連結させて1つの文章のように出力する場合は注意が必要です。
連結は+マークで行いますが、文字列型と数値型を単純に連結することはできません。
上の画像のようにひと工夫が必要で、数値型はstr()で文字列型に変換が必要です。
つまり、【print("文字列型" + str(数値型の変数)】という形で連結することになります。
ちなみに、リスト型もstr()で文字列型に変換して出力可能です。
小技3:print関数での数値型と文字列型のラクな連結法
わざわざstr()で型変換するのが面倒な人に朗報です。もっと楽に連結する方法があります。
その1つが、上の画像のように【print(f"文字列 {変数}")】とする方法です。つまりf""の中に文字列を好きなように書いて、変数の部分は{}でくくるという感じです。
ちなみにリスト型であっても使えます(何気にリスト型も推すやつ)。
小技4:print関数での数値型と文字列型のラクな連結法2
もう1つラクな方法があります。それは上の画像のように、【print("文字列 {} 文字列{}" .format(変数1, 変数2))】とする方法です。
これは""内にある{}に、.format()のカッコ内で指定した変数の中身を順番に代入するというものです。先に""内で任意の文字列と変数の中身を入れたい箇所に{}を記入しておき、その後で入れたい変数を順番に指定する感じです。
この方法の注意点としては、{}に入るのは.format()で指定した順番通りという点です。いい加減に指定してしまうと、上の画像の2番目の出力結果のように逆の結果になってしまいます。
個人的にラクな連結方法としては小技3の方が好きですが、これは実際に使ってみて自身がしっくりくる方を選べばよいと思います。
小技5:print関数内で改行する方法
print関数で長い文章を出力した際、どこかで改行しないとめっちゃ長い文章になってしまいます。自動で改行というのは残念ながらしてくれません。
しかし上の画像ように、文字列の中に【¥n(または\n)】と記入することで、その地点から改行が可能です。
実はこれはエスケープシーケンスというもので、プログラム上で特殊な手段を実行するために使われています。例えば今回用いた¥nは改行の役割を持っています。
文字列の中に¥nを組み込まないと機能しないのでご注意ください。例えば【"文字列1" + ¥n + "文字列2"】では機能しません。【"文字列1 ¥n 文字列2"】としないといけません。
エスケープシーケンス文字は結構曲者で、フォルダやファイルのパスを指定する際は注意が必要です!
Python初心者必読!フォルダとファイルのパス指定の落とし穴と解決法 - ゼロからの業務効率化ノート
Pythonのprint関数の小技5選 まとめ
今回紹介した小技をまとめると以下の通りです。
- 1回のprint関数で複数の要素をいっぺんに出力
- 数値型と文字列型を連結できる("文字列型" + str(数値型))
- 数値型と文字列型のラクな連結法(f"文字列 {変数}")
- 数値型と文字列型のラクな連結法2("文字列 {} 文字列{}" .format(変数1, 変数2))
- print関数内での改行法(¥n)
多くの人が一番最初に覚えるであろうprint関数にも、こんなに多くの技があるなんてビックリですよね!
実はまだ色々print関数の小技はあるらしいのですが、私自身もそこまでprint関数を幅広く使えていないので、もし新しい小技を使う機会が生じたら紹介しようと思います!
この後に合わせて読んで欲しい記事
⇓
nukoshogun.hatenablog.com