Re:ゼロから始める文系プログラマ

文系プログラマーがブログを書いてみた。

【はじめてのPython】 V ~文の書き方~

f:id:ShotaNukumizu_1000:20210405111435p:plain

おはようございます。Shotaです。今日もPythonの記事を紹介していこうと思います。

今日は「文の書き方」について詳しく説明していこうと思います!

 

これまでPythonの基本について、値と変数を中心に説明をしてきました。他にも知っておきたい内容がいくつか残っています。それらについて簡単にまとめて説明しておきましょう。

 

【目次】

 

文の書き方

文と見かけの改行

 まずは「見かけの改行」について説明していきたいと思います。見かけの改行は、「一見改行されているように見えるが、Pythonには1行につながっているように錯覚させる」というものです。文末に「\(バックスラッシュ)」を付けて記述します。

例えば、このような文を考えてみましょう。

 

f:id:ShotaNukumizu_1000:20210407143252p:plain

 

これらをコマンドプロンプトで実行すると、messageの内容が以下のように表示されます。

 

f:id:ShotaNukumizu_1000:20210407143343p:plain

 

messageに値を代入している部分を、見かけの改行を使って2行に改行してみましょう。

 

f:id:ShotaNukumizu_1000:20210407143505p:plain

 

3行目の最後に、「\(バックスラッシュ)」が付けられています。これが見かけの改行のための記号です。これによって、次の行も続いていると認識されるようになります。

見かけの改行は、2行だけではなく何行でも改行することができます。ただし、見かけの改行を入れられるのはスペースを入れられる箇所に限られます。変数を「\」を利用して途中で区切ることはできません。

見かけの改行を使うことで、長い文も途中で改行して見やすく書くことができます。

 

三重クォートによるテキストの記述

 値を記述するとき、一番問題となるのはやはり「文字列」でしょう。

短い単語のようなものならば簡単ですが、複数行もある長いテキストを値として扱いたいならどうすればいいでしょう?Pythonでは、ただクォートで囲むだけでは改行することはできません。

エスケープシーケンス(これについては後日紹介)に改行を表す記号(\n)があるので、それらを使って改行させながらリテラルを記述することもできます。

実はもっと簡単な方法があります。それは、三重クォートを利用する方法です。

例えば、このような文を書いてコマンドプロンプトにて実行してみましょう。

 

f:id:ShotaNukumizu_1000:20210407144830p:plain

 

コマンドプロンプトには、以下のように出力されます。

 

f:id:ShotaNukumizu_1000:20210407144950p:plain

 

三重クォートによるリテラルは、途中にエスケープシーケンスを使って改行を記述したリテラルと全く同じものというわけです。

三重クォートで、エスケープシーケンスを使わずに自然に複数行のリテラルを記述できるようにしていたのです。

 

文字列のフォーマット

 変数などを使って複雑なテキストを生成する場合、文字列リテラルと変数をつなぎ合わせていかなければなりません。これは、長いテキストを書こうとするとかなり面倒です。

先に、このようなサンプルを作ったことを思い出してみましょう。

 

f:id:ShotaNukumizu_1000:20210407143252p:plain

 

変数nameとageを作って、これらと文字列リテラルを組み合わせて長いテキストを作成しています。このように組みわせていく場合、ちょっとしたタイプミスでエラーが出力されます。

このように書かれてしまうと、変数と文字列の区別が付きません。もう少し、分かりやすく整理された書き方ができればこのような問題を回避できます。

このようなときに使われるのが「フォーマット済み文字列リテラルです。

上の画像に示されているコードをフォーマット済み文字列リテラルを使って記述するとこのようになります。

 

f:id:ShotaNukumizu_1000:20210407145844p:plain

 

これをコマンドプロンプトで実行すると、このように出力されます。

 

f:id:ShotaNukumizu_1000:20210407143343p:plain

 

リテラルの直前に「f」という記号を付けて記述します。そしてその後にシングルクォートを用いて文字列を記述します。{}記号を用いて、その中にPythonの式を記述できます。変数屋敷などをこの中に用意して、値を底にはめ込んだテキストを生成していきます。

このように書いていくだけで、簡単に変数が入った文字列をPython上に記述することができるのです。

コメントの書き方

 コードには、実行するPythonの文以外の情報を書くことはできません。実際にプログラムを書いていくと、書いた内容の説明をメモしておきたいことも多いでしょう。

 

このような時に用いられるのが「コメント」です。

 

1行のみコメントを書くとき、コメントの冒頭に「#(ハッシュタグ)」を付けます。Twitterで馴染みあると思いますが、この記号以降、改行するまでのテキストはコメントと見なされて実行時には無視されます。

複数行に渡ってコメントを書くとき、三重クォートを利用します。(そもそも、Pythonでは複数行に渡ってコメントを記述できません)その代替として、三重クォートがあります。三重クォートはコメントにも使えます。

ここに簡単なコメントの例を示しておきましょう。

 

f:id:ShotaNukumizu_1000:20210407151109p:plain

 

三重クォートで囲まれている文字列は、Pythonではプログラムの実行に影響を与えないのでコメント的に利用できます。

このプログラムを実行すると、コマンドプロンプトに以下の数値が出力されます。

 

f:id:ShotaNukumizu_1000:20210407151309p:plain

 

このようにして、Pythonでは自分が書いたコードに説明を加えることができます。プログラミングでは相手が多少複雑なコードを理解しやすいように、コードにコメントを書くことがよくあります。

 

まとめ 

【今日のまとめ】

  •  見かけの改行は、「一見改行されているように見えるが、Pythonには1行につながっているように錯覚させる」というテクニック
  • 見かけの改行は「\(バックスラッシュ)」を使って改行させることができる。ところが、変数を区切ることには使えない
  • 文字列フォーマットリテラルを使うことで、変数が入った文字列を簡単にコードに書くことができる。
  • 「コメント」で、自分が書いたコードを説明することができる。1行のみ書く場合は冒頭に「#(ハッシュタグ)」、複数行に渡って書く場合は三重クォートをを使う。コメントはプログラムの処理に影響を与えない。

 

本ブログでは、こんな感じでPythonにまつわる情報や基本的な知識、Pythonの操作方法やニュースをたくさん紹介していきます。毎週日曜日に、普段とは趣向を変えて有名な自己啓発本・ビジネス書を要約・考察するブログを書いていきます。

この記事がいいと思った人はSNSにシェアしてくれると非常に嬉しいです!

明日は日曜日のため、書籍解説第2回として『7つの習慣』を解説していこうと思います。次回のPythonの記事は来週月曜日です。来週はデータ構造の一種である「リスト型」を説明しようと思います。

今日も最後まで読んでくださりありがとうございました!

 

【参考図書】

gihyo.jp