【Python】コードの書き方とスタイル規約の簡単理解 -ちょこっとPEP8

Pythonの応用
スポンサーリンク

初心者の独学でのプログラミング学習はとてもツライ…

プログラミングをマスターしたい!

今のIT業界はプログラミングエンジニアが不足していると言われています。
高収入の職業とも言われる分野もありますし、AI、機械学習、ディープラーニング、IOTといった注目される分野が目白押しです。

でも、いざ初心者がプログラミングをマスターしようとすると…

  • 本を読んだりネットの記事で自力で勉強しているけど限界を感じる
  • プログラミングスクールに定期的に通うのは面倒だ
  • 地方に住んでると家の近くにプログラミングスクールなんてない
  • どのプログラミング言語を学べばいいのか悩む
  • 実際の就職や転職にプログラミングが活かせるのか心配だ

など、プログラミングを自分で勉強しようとすると悩みが尽きません。

プログラミングに詳しい友人に教えてもらおうと思っても、そんな友人なんて滅多にいません。いたとしても細かく教えてくれるほど時間に余裕がある人はいないでしょう。

そんな独学でプログラミングをマスターするのに限界を感じてる方に、オンラインプログラミングスクールをがおすすめです。

おすすめのオンラインスクールはこちら

PythonのコードスタイルはPEP 8に一度目を通すことが良いと思います。コードのチェックツールでチェックすればいいのですが、その書き方を知らないとチェックだらけになってしまいます。

【Python】コードの書き方とチェックツールの導入 - pycodestyle,flake8,pyLint
Pythonのコードの書き方は、他の人がコードを読んでも意味がわかるように書くのが大切です。そのコーディング規約としてPEP8があります。コードスタイルのチェックツールとして、pycodestyle、flake8、pyLintがあります。

ですからコード書く時は、ある程度コードスタイルのルールを知っておく必要があります。

でも、ああいうドキュメントってなかなか読み込めないことがありますよね。自分に必要なレベルを考えると、自分のやろうとしていること以外の細かいところまで書かれているので、そこが読み込むことの手間になったりすることもあります。

ここではPEP8についての簡単なルールの実例を見て行こうと思います。

スポンサーリンク

PEP8のルールや書き方を簡単に見ていく

それではPythonのコーディングのルールについて、実例を見ながら簡単にやって行きましょう。もちろん完全解説ではありませんのでそのあたりはご理解ください。

1行79文字

Atomを使っている人はファイルを開いてみるとわかると思いますが、画面に縦の線が薄く入っていると思います。

これ、何も知らずにみるとアプリのエラーとか液晶の傷かと思えて焦りますよね。これはAtomではコードの行の80文字目を示すラインです。

AtomのPreferencesからEditorを選択するとPreferred Line Lengthという項目があり、そこにデフォルトで「80」とセットされています。

Pythonのコーディングのルールではコードの1行の長さを79文字に制限しています。ですから、このラインを目安にコードをおさめたり、見やすく改行したりしましょう。別のエディタでも設定する項目があるはずです。

1行79文字の例外として、例えばドキュメントを関数定義に組み込んだ時、例えば参照サイトなどのURLを記述するようなことがあります。そのURLの文字列が長くて79文字を超えるようなものもあると思います。その場合は79文字は無視して構いません。

インデントの半角スペース4文字とタブ

Pythonのコードはインデントを半角スペース4文字でコードブロックを作りますが、半角スペースを4回入力するよりもタブで普通は行います。ただし、エディタの設定でこのタブの文字数が異なることがあるので半角4文字にセットしましょう。

あとハードタブとソフトタブという方式があり、ハードタブはまさにタブなのでインデントの半角スペース4文字として機能させるにはソフトタブでセッティングしましょう

Atomでは、上と同様の環境設定欄に項目があるのでこのあたりをセッティングしてもいいですが、Pythonファイルを編集する時は自動でルールが適用されているようです。

改行

他のプログラミング言語では改行時にセミコロン(;)をつけるものが多いと思います。

実はPythonでもこの書き方をしてもエラーにはなりません。ただし、Pythonではコードの読みやすさを重要視しているので、改行時にセミコロンをつけないことをルールにしています。

関数定義などで、引数が多くなった時は見やすくするため改行する場合があります。

このように改行したら丸括弧の位置で揃えます。

空行

メソッドやクラスの間などに空行(改行)を入れることにもルールがあります。

次のような要領で、空行2つ、空行1つを入れて行きます。

グローバルな位置にあるものは2行の空行を入れます。

モジュールをインポートしたら2行開けます。グローバル変数の間も2行開けます。クラス定義の間も2行開けます。グローバルな位置にある関数定義は2行開けますが、クラス内に定義されている関数は1行開けます。

余計な丸括弧

条件式などを作った時に、過度に丸括弧で区別をしすぎると読みにくくなるので余計な丸括弧はつけないようにします。次のような書き方ですね。

どちらも同じ操作ですが、丸括弧はもっと条件があって計算の優先順位を考慮しないといけない場合に用いるべきで、丸括弧はこのように無駄になる場合にはつけないようにしましょう。

空白文字

変数や辞書、関数定義などカンマなどの区切りのあとは空白を入れるなど空白文字を入れるべきところと、入れ無いようにすべきところがあることに注意しましょう。

コメントアウトしてる書き方でも動きますが、見やすいように空白文字をそれぞれ開けています。イコールの位置を揃えようとして無駄に空白文字を入れるのはあとで変数が増えると再度揃える必要があるので、イコールの位置では揃えません。辞書型はコロンの後、カンマの後に空白文字を入れて見やすくします。関数の引数もカンマで区切って空白文字を入れますが、引数に値を入れる時はイコールの間に空白文字は入れません。

クォーテーション

クォーテーションはダブル(”)とシングル(’)がありますが、どちらを通常使って囲むのかを揃えておく方がいいでしょう。

通常はシングルで、中に代入などをするような処理がある時にダブルを使うというようなルールを決めておくと、それがコーディングの目印になったりします。

クラス名や関数名、変数名などの名前の書き方

別のところでも少し触れたと思いますが、クラス名や関数名などの書き方にも区別をつけておきます。1つの単語ではなく複数の単語を繋げた名前をつける時にはそれぞれ違いがあります。

グローバル変数はわかりやすいように大文字です。

クラス定義は先頭が大文字のキャメルケースで各単語の先頭を大文字にして繋げて書きます。

関数定義や変数は小文字を使って複数の単語はアンダースコアで繋げて書きます。これをスネークケースと呼びます。

インポートの書き方

モジュールのインポートの書き方は別のところでも書きました。

【Python入門】モジュールとimport - 必要な部品を利用する方法
Pythonには、プログラムで利用する関数などの部品をモジュールやパッケージとして分類してまとめておいて、プログラミングで取り込んで使う仕組みがあります。importやfromの使い方、モジュールの仕組みを頭に入れて起きましょう。

復習ついでにもう一度見て起きましょう。

順に標準モジュール、サードパーティモジュール、自作モジュール、ローカルファイルの順にそれぞれ1行開けてインポートしてます。各モジュールはabc順に並べます。

モジュールはカンマで区切ってまとめインポートして書いても動きますが、これはダメとされています。また、ドットで繋げてメソッドまで指定してインポートすることもできますが、どのパッケージなのかわからなくなるのでやらない方がいいとされています。

その他

辞書データのキーと値を出力するときなど、短いコードであれば、それぞれk,vを使って取り出せばいいのですが、意味がわかった方がいい場合があるので、場合によってはk,vではなく読んでわかる変数名をつけた方がいいです。

リスト内包表記など、1行で書けてとてもPythonらしい表現なのですが、いくつも内包表記を続けて1行でまとめすぎると長くなって読みづらくなるのでほどほどにしましょう。

ループ処理などでメモリをあまり消費しない書き方をすることも大切です。ただ、ここはなかなか難しいところですね。

スポンサーリンク

まとめ

とても大雑把ですが、簡単にコーディングスタイル規約に関連する書き方を見てきました。

もっと細かいところもありますが、まずはこのあたりからスタートしてPEP8を個別に見ることをおすすめします。

また、ここで触れていないものでも、これまで扱ってきた内容の中で触れているものもあります。

見やすいコードを心がけて書いて行きましょう。ここで書いてきましたが、やれてない部分はやはりありますね。私もしっかり学んで行こうと思います。

自宅学習はオンラインプログラミングスクールを活用!

自宅学習にはオンラインプログラミングスクールがおすすめ!

オンラインプログラミングスクールは独学でプログラミングを学習する時のデメリットを解消する仕組みが備わっています。

気になるところは…

学習がオンラインで完結するのはもちろんですが、独学ではできない質問サポートがあるかどうか。わからないことを現役のエンジニアが質問に答えてくれるといいですよね。

受講者個人に担当のメンターがつき、マンツーマンで学習の相談に乗ってくれることも必要で、ITエンジニアの世界についても伺えたりもすると幅が広がります。

オンライン面談だけでなく、チャット機能を使って気軽に質問を投げかけることができることも大切です。

また、オリジナルプロダクトの開発とサポートがコースの中に組み込まれていて、独学ではなかなか難しい実践的なスキルの習得にもつなげたい。

プログラミングをマスターした後の実際の仕事につながる転職サポートでがあると、ITエンジニアの世界に飛び込むのに不安が解消されます。

そんな豊富なメニューが揃っているおすすめのオンラインプログラミングスクールがこちらにあります。

おすすめのオンラインプログラミングスクールはこちら

TechAcademyはおすすめのオンラインプログラミングスクール!

オンラインのプログラミングスクールでは、テックアカデミーの充実度が目を見張ります。

オンラインで受講が完結するので、自宅学習でプログラミングをマスターしたい人にはテックアカデミーがおすすめです。

メンター制度も現役のプロが対応してくれます。大学生などが対応しているスクールに比べて本気度と専門性が違います。メンター制度の無いスクールもありますし、担当では無いメンターが対応するスクールもあったりするので、相談の質が違いますね。

チャットサポートもあるので、それが無いスクールに比べて相談の気軽さの違いがあります。

プロダクト開発のサポートで実践力が養われるだけでなく、どの講座を利用しても転職サポートが受けられるのはありがたい。

用意されているコースも、初心者向けのプログラミングコースから、Python、Java、PHP、iPhoneアプリ、AndroidといったITエンジニアのベースとなる主要な言語だけでなく、AI、データサイエンス、ブロックチェーン、webアプリケーションと行った実践的なコースまで用意しています。

他にも、webデザインやUI/UXデザイン、動画編集、webディレクションやwebマーケティングといったプログラミング以外での役立つコースまであります。

このようなたくさんの選択肢から自分にあったコースを選ぶことがでるのがテックアカデミーです。

コースの期間も短期間でマスターしたり、長期の受講でじっくり取り組むコースを選ぶこともできます。

複数講座のセットコースを利用することで大幅な割引が受けらるので、お得に受講することもできます。

無料体験もありますので、プログラミング学習でオンラインスクールを考えている人はTechAcademyをぜひ利用してみてください。

テックアカデミーの公式サイトはこちら

Pythonの応用
スポンサーリンク
CodeGraffitiをフォローする

とにかく進め!Pythonプログラミング入門 〜 コードグラフィティ
タイトルとURLをコピーしました