Python学習チャンネル by PyQ

Pythonのオンライン学習プラットフォームPyQのオフィシャルブログです

「Pythonでできること」に詳しくなろう『可読性が高く学習しやすい言語って、どんな言語?』

f:id:kenken0326:20200206121224p:plain

こんにちはPyQチームです。

Pythonの特徴を調べたときに「可読性が高く学習しやすい」という情報が出てきたという経験はありませんか? 可読性が高い言語とは読みやすい言語という意味です。

では、どうしてPythonプログラムは可読性が高いのでしょうか?
今回は、Pythonの強みの1つである可読性の高さについて掘り下げます。

※このページは、PyQチームが作成した「10分で解るPythonとは」をベースに執筆しています

Pythonのコードを読みやすくするルール

Pythonのコードが読みやすい一番の理由は、インデント(字下げ)を強制するルールにあります。
ブロック(if文やfor文など)ごとに、インデントするルールが定められています。インデントがルールとして決められていることで、誰が書いてもブロックが明確になります。この特徴によって、Pythonは読みやすくなっているのです。

Pythonのインデントを必須とするルールは、PEP8というコードスタイルガイドラインに定められています。 インデントの他、一行ごとの文字数や空行の入れ方も定められています。

f:id:kenken0326:20200205105919p:plain

インデントのガイドライン

1レベルインデントするごとに、スペースを4つ使いましょう。 

その他行を継続する場合など、詳しくはドキュメントを参照してください。

命名規則

関数の名前は小文字のみにしましょう。また、読みやすくするために、必要に応じて単語をアンダースコアで区切って見やすくしましょう。

その他守るべき命名規約については、ドキュメントを参照してください。

コメントとドキュメンテーション文字列

文頭に#(ブロックコメント)をつけて文字を書くとプログラムを実行しても無視されます。
また、シングルクオート()および、ダブルクオート()3つを使って文字列を囲んだ場合もプログラム実行時に無視されます(ドキュメンテーション文字列)。
どちらも補足や説明を書きたいときに使います。これにより第三者から見ても分かりやすい内容になります。

公式ドキュメントが推奨するルールを確認したい時はドキュメントを参照してください。また、 コメントとドキュメンテーション文字列の違いについては下記のブログ記事で解説しています。

blog.pyq.jp

Pythonは、書いたコードを少しずつ動かしながら学べる

実は、人間にとってわかりやすい言語と、コンピューターにとってわかりやすい言語は異なります。
Pythonは、人間にとってわかりやすい高水準言語です(高水準言語は、人間が読みやすく、書きやすいように設計された言語を指します。反対に、人間には難易度が高く、コンピューターにとってわかりやすい言語を低水準言語と言います)。

そのため書いたプログラムをコンピューターにとってわかりやすく翻訳する必要があります。 この翻訳作業をコンパイルといいます。 Pythonは、コードを実行する時に随時コンパイルを行う言語で、インタプリタ言語といいます。 インタプリタ言語でプログラミングを学習すると少しずつ書いたコードを動かして結果を確認できるというメリットがあります。

インタプリタ言語

コンパイルやリンクの必要がないので、プログラムを開発する際に多くの時間を節約できます。

対義語となる言語はコンパイラ言語といいます。コンパイラ言語はコードの実行前に一括でコンパイルを行う言語で、Cなどが有名です。 公式ドキュメントではPythonがインタプリタ言語である特徴について、チュートリアルの最初のページで言及しています。

URL:https://docs.python.org/ja/3/tutorial/appetite.html

まとめ

Pythonはインデントが必須であったり、命名規則がガイドラインで定められていたりするため、読みやすい言語です。 また、インタプリタ言語なので少しずつ書いたコードを動かしながら結果を確認できます。
このような特徴により、学習しやすい言語だと言われているのです。

このページは、PyQチームが作成した「10分で解るPython とは」をベースに執筆しています

PyQチームが公式ドキュメントの掲載内容をベースに、「Pythonってどんな言語なんだろう」という疑問を持つ皆様に対し、学習を支援する補足的なページとして作成しました。
「Pythonをゼロから網羅的に知れる」「気になった時、すぐに情報にたどり着ける」「深く調査する為のインデックスになる」ようなページを目指しています。

lpm.pyq.jp

Copyright ©2017-2020 BeProud Inc. All rights reserved.