CTC 教育サービス
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes
こんにちは、吉政創成 菱沼です。
今回も「きれいなPythonプログラミング(マイナビ出版)」という書籍を利用して学習します。
前回から3章の「Blackを使ってコードフォーマットを整える」に入り、コードフォーマッターとPEP8について学びました。
今回も引き続き、PEP8の中でも記述があるスペースの使い方について学んでみたいと思います。
前回は演算子と識別子(変数など)の間、コンマの後ろにスペースを入れるということまで確認しました。
次はピリオドです。まずはテキストを引用します。
---------------------------------------------------------------
P.51
Pythonでは属性を表すピリオドの前後にスペースを挿入することができますが、それは避けるべきです。スペースを入れないようにしておくと、次の例のようにオブジェクトとその属性のつながりを強調することができます。
ピリオドの前後にスペースを入れると、オブジェクトと属性が無関係のように見えてしまいます。
Blackはピリオド前後のスペースを自動的に削除します。
---------------------------------------------------------------
upperは小文字を大文字に変換するメソッドで、「文字列.upper()」で使用します。実行結果は「HELLO,WORLD」です。
前後にスペースを入れてみても、どちらか片側だけに入れてみても問題なく結果は表示されますが、引用文を見てみると、upperが「Hello,world」に対して作用しているんだろうなというのが一目でわかりやすいですね。
では次に関数名やメソッド名、コンテナ名のスペースについてです。いずれにもスペースは不要とのこと。
ちなみにここで言うコンテナとは、複数のオブジェクトを格納できるデータ構造のことで、リスト型(list)、タプル型(tuple)、辞書型(dict)、集合型(set)の総称がコンテナ型というようです。
ではテキストを引用します。
---------------------------------------------------------------
P.52
小括弧()、各括弧[]、中括弧{}とその内容の間にはスペースを入れてはいけません。例えば、def文のパラメーターやリストの値は、括弧や角括弧の直後から始めて、閉じ括弧の直前にはスペースを入れないようにしましょう。
次のように、開き括弧の直後と閉じ括弧の直前にスペースを入れてはいけません。
コードの読みやすさは変わらないので、スペースの追加は不要です。Blackでは、これらのスペースがコード内に存在する場合は削除します。
---------------------------------------------------------------
確かに見やすさは変わりませんが、間延びした印象は受けます。あと私の目のせいなのか、スペースのせいなのか、ピリオドとカンマを空目しそうです。
コードの途中でそのコードの意味を、コメントで書いて残されているという事はよくあります。
Pythonでコメントを残したい場合には、「#」を使いますが、その「#」を入れる前にもスペースの入れ方ルールがあるようです。
---------------------------------------------------------------
P.53
コード行の末尾にコメントを追加する場合は、コメントを開始する#の前に2つの空白文字を入れます。
空白文字を2つ入れることで、コードとコメントを区別しやすくなります。空白文字が1つの場合、あるいは最悪スペースがない場合は、区切りに気づきにくくなります。
Blackではコードの末尾とコメントの間に空白文字を2つ入れます。
一般的に、コード行の末尾にコメントを入れることはお勧めしません。コメントを入れると行が長くなりすぎて画面上で読みにくくなるからです。
---------------------------------------------------------------
並べてみると2つの空白が一番見やすいですね。(ちなみに#もスペースも半角です。)
続く文章で、コードの行にコメントを入れるのはお勧めしないと書かれています。確かに、大抵前の行にコメントをつけられていて、同じ行にコメントがついているのは、書籍のサンプルコードくらいのような気がします。横長でスクロールが必要になると見るのは面倒なんですよね...。
それではきりが良いので、今回はこちらで終了です。次回は空行の入れ方を学びます。
今回もお付き合いいただきありがとうございました。
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes