プログラミング言語「Python」について、概要と基本的な決まり事についてご紹介します。
Pythonとは
Pythonとは、1991年に開発された「インタプリタ型」のプログラミング言語です。
プログラミング言語は、「インタプリタ型」と「コンパイラ型」のおおきく2つの種類に分けることができます。
「インタプリタ型」では、プログラム実行時に機械語にコンパイルしながらプログラムを少しずつ実行します。一方で、「コンパイラ型」では、プログラムを機械語にコンパイルしてからプログラムをいっきに実行します。
コンピューターはプログラミング言語を「直接」理解することはできないのです。
Pythonの特徴
プログラミング言語「Python」には目標が定義されています。
この目標は、1999年にPythonの生みの親であるグイド・ヴァンロッサム氏がアメリカ国防高等研究計画局「DARPA」に送った出資申込書「万人のためのコンピュータープログラム」の中で定義されています。
・容易かつ直観的な言語で、主要なプログラミング言語と同程度に強力である。
引用元:Wikipedia グイド・ヴァンロッサム
・オープンソースであり、その開発に誰でも貢献できる。
・平易な英語のように分かりやすいコードである。
・日常的タスクに適しており、開発時間を短くできる。
読み書きしやすいコード
プログラミング言語としては、シンプルなつくりで「予約語」が非常に少ないです。
「予約語」とは、「if」「for」「import」など、プログラミング言語が独自に持っている単語リストのことです。
豊富なライブラリ
Pythonにはあらかじめ含まれている「標準ライブラリ」のほかに「外部ライブラリ」の利用ができます。「外部ライブラリ」は非常に豊富な種類があるため、Pythonにさまざまな機能を追加することができます。
ちなみに「ライブラリ」とは、Pythonの機能を追加するためのプログラムの集まりのことです。
pythonでできること|幅広い利用
「機械学習」「ディープラーニング」などのAI関連、「WEBサイト」の開発、「データ分析」などの幅広い分野でPythonがつかわれています。
例えば、「YouTube」「Dropbox」などの有名なアプリケーションもPythonによってつくられています。
Pythonの書き方|コーディング規約「PEP8」
Pythonではコードの書き方のルールとも言えるコーディング規約「PEP8」というものが定められています。
この「コーディング規約」にあるガイドラインの目的としては、あくまでも「コードの読みやすさ」に重点をおいています。そのため必ずしも遵守しなければならないといったものではなく、以下の場合においては適用しないこともあります。
- ガイドラインに従うと逆にコードが読みにくくなる場合
- ガイドラインに従っていない他のコードとの一貫性を保つ場合
- ガイドラインが制定される前に書かれたコードの場合
- 旧バージョンのPythonとの互換性を保つ場合
以下、数あるルールのなかでいくつかをピックアップしてご紹介しますので、さらに詳細を知りたいといった場合は、こちらの「PEP8」公式ドキュメントをご覧ください。
なお関連ツールとしては、コーディング規約「PEP8」に準拠しているかを確認するためのツール「pycodestyle」や、「PEP8」に修正をするためのツール「autopep8」があります。
コードのレイアウト
インデント
1つのインデントをするごとに「スペースを4つ」使いましょう。
また、キーの「Tab」と「Space」が混在しないようにしましょう。
1行の文字数制限
基本的に、1行の最大文字数は「79文字」までに制限をしましょう。
改行場所
二項演算子の「前」で改行をしましょう。
二項演算子とは、被演算子が2つ使われているもので四則演算につかわれる「+」「-」「*」「/」などがあります。
なお被演算子とは、演算の対象となるもののことです。
空白行
トップレベルの関数やクラスは、2行ずつ空けて定義しましょう。
ソースファイルのエンコード
Pythonのコードは「UTF-8」を使用しましょう。
「import」の記述
通常、import文は行を分けて記述をしましょう。
またimportはつぎの順番でグループ化しましょう。
- 「標準ライブラリ」
- 「外部ライブラリ」
- ローカルなアプリケーションやライブラリ
文字列に含まれる引用符
文字列の引用符
Pythonでは、文字列を記号「’」もしくは記号「”」で囲む必要があります。
単一引用符「 ‘(記号:シングルクォーテーション)」 で囲まれた文字列と、二重引用符「 “(記号:ダブルクォーテーション)」 で囲まれた文字列は同じものとして扱います。
なお、三重引用符 で文字列を囲むときは「 “(記号:ダブルクォーテーション)」を使いましょう。
記号 | 名称 |
‘ | シングルクォーテーション |
“ | ダブルクォーテーション |
式や文中の空白文字
空白文字の使い方
以下の場合、式や文中での空白文字の使用は控えましょう。
- 丸括弧、角括弧、波括弧 のはじめの直後と終わりの直前
- 末尾の「,(記号:カンマ)」と、その後に続く閉じ括弧の間
- 「,(記号:カンマ)」や「;(記号:セミコロン)」、「:(記号:コロン)」の直前
- 関数呼び出しの引数リストをはじめる開き括弧の直前
- インデックスやスライスの開き括弧の直前
- 代入や演算子を揃えるために演算子の周囲に1つ以上のスペースを入れること
記号 | 名称 |
() | 丸括弧 |
[] | 角括弧 |
{} | 波括弧 |
, | カンマ |
; | セミコロン |
: | コロン |
コメント
英語圏ではないプログラマに対して、少しでも自国語を話す人以外にも見られる可能性があるならば、コメントは英語で書くように推奨されています。
ブロックコメントは、「#」と「スペースひとつ」をつかって始めましょう。
ブロックコメントとは、「#(記号:シャープ)」に続くコード行のことです。
インラインコメントは控えめに使いましょう。
インラインコメントとは、コードとおなじ行に書くコメントのことです。
モジュールや関数、クラス、メソッドには「ドキュメンテーション文字列」を記述しましょう。
ドキュメンテーション文字列(別名 “docstrings”)とは、関数、クラスなどの使用を利用者に対して説明する文章のことです。
命名規約
関数や変数の名前は小文字のみをつかい、必要に応じて「‗(記号:アンダーバー)」で区切りましょう。
また、他の文字との判別がしにくくなるため単一の文字 「’l’ (小文字のエル)」、「’O’ (大文字のオー)」、「’I'(大文字のアイ)」 を使わないようにしましょう。
定数は大文字のみをつかって、必要に応じて「‗(記号:アンダーバー)」で区切りましょう。
まとめ
プログラミング言語「Python」の概要についてご理解いただけましたでしょうか?
数あるプログラミング言語のなかでもシンプルかつその汎用性の高さから、非常に人気のある言語のひとつです。
こちらでは具体的なコードを使わずにPythonをご説明をしたこともあり、初学者の方にとってはまだイメージがしにくいかもしれません。次回はコードをつかってより具体的な内容をご紹介したいと考えています。