Pythonの特徴
利用面での特徴
Pythonをこれから利用する側からみた特徴としては「豊富なライブラリ」「様々なサイトやサービスで利用されている実績」が有利な特徴と言える。特に、ライブラリについては多岐にわたっている。
- 画像/動画処理
- 数値計算/統計処理
- ファイル入出力処理
- データベース処理
- ネットワーク処理
などの、自力で作成するには複雑な作業やセキュリティの考慮などが必要な処理や、多くの場所で利用可能な処理について、様々なライブラリが配布されている。 このようなライブラリを利用し、組み合わせることで用途に合わせたプログラムを作成することが可能となっている。
実装面での特徴
Pythonを使って実際にプログラムを作成する・実装する立場から見た特徴としては、「学習コストの低さ」が大きな特徴と言えるであろう。
例えば、「変数numに代入された値が10より大きい場合は"Over 10"と表示、そうでなければ"Other"と表示」というプログラムを、Javaで書いた場合とPythonで書いた場合で比較してみる。
Javaで書いた場合(その1)
class Sample {
public static void main(String[] args){
int num = 11;
if (num > 10){
System.out.println("Over 10");
} else {
System.out.println("Other");
}
}
}
Javaで書いた場合(その2)
class Sample {
public static void main(String[] args){
int num = 11;
if (num > 10) System.out.println("Over 10");
else System.out.println("Other");
}
}
Pythonで書いた場合
num = 11
if num > 10:
print('Over 10')
else:
print('Other')
Javaの場合、同じ内容を記載した場合でも{}の有無、インデント(字下げ)の位置などが揃っていなくとも記述が可能。また、スクリプトを実行する場合でも必ずクラスが必要であるなどのルールが複雑である。 Pythonの場合、スクリプト実行の場合は必要な処理をファイルに記載するのみで実行が可能である。また、記述ルールにインデント(字下げ)が含まれるため、Pythonの初心者でも、熟練者でも同一の内容であれば基本的な記述方法は同じである。
これらの記述ルールにより、Pythonでは可読性(ソースコード の見やすさ)が高く、プログラミングの学習が容易で理解しやすい、という特徴がある。
導入面での特徴
プログラムやシステムを実際に利用するマシンや環境に導入する際、Pythonの場合は以下の作業を行うだけで環境を設定することが可能となる。
-
必要なバージョンのPython実行環境をインストールする
-
インストールされた環境に、必要なライブラリを配置する
-
プログラムを実行する
Pythonでは、実行環境をインストールすると、必要なライブラリを依存関係含めて配置するための環境設定用ソフトウェア(pip)が一緒にインストールされることになっている。 そのため、環境設定用のソフトウェアを別途インストールする必要がなく、またデフォルトの設定のままでも必要な環境を用意することが可能となっている。
また、各OS用の実行環境が用意されているため、プログラム作成時にOSごとのプログラムを改めて作成する必要がない。 そのため、導入や別環境への移行も容易である。
Pythonの欠点
Pythonはスクリプト言語であり、一度コンパイルしたバイトコードを機械語に変換しながら実行している。 そのため、C言語などのような機械語に変換済みのプログラムと比べると実行時間が遅くなってしまう。
例えば、速度を重視する箇所についてはC言語やC++言語などで記述し、Pythonではライブラリなどを統括して利用するなど、得意分野ごとの切り分けが必要になるだろう。