2020.02.14   その他

[Python] Pythonとセキュリティ – ① Python とは

概要

Python は1991年に発表されたインタプリタ形式のプログラミング言語で、オランダ出身のプログラマ「Guido van Rossum(グイド・ヴァンロッサム)」によって開発された。
2020年1月を基準として最新バージョンは、Python2「2.7.17」、Python3「3.8.1」である。2008年の末から、Pythonは「バージョン2」と「バージョン3」に分かれて使用されている。Python2とPython3はお互いに互換ができないところも多いため、プログラムを作る際に、二つのバージョンのうち、一つ選ぶ必要がある。Python2は2020年4月に「2.7.18」が公開された後は公式な技術サポートは終了される。また、Python3から新たにサポートされるライブラリや脆弱性なども修正されているため、Pythonを習い始めようとしているのであれば、Python3をお勧めする。

Python のメリット

容易性

Pythonの一番のメリットは簡単で、だれでもすぐプログラムが作れる容易性である。下記で「Hello World」を出力する例を、CとPython言語で作ってみた。

#include <stdio.h>
int main() {
    printf("Hello World");
    return 0;
}
print("Hello World")

このようにCは5行で表現するコードが、Pythonでは1行で表現できる。また、文法的に括弧({,})やセミコロン(;)などが不要で、インデント(字下げ)でシンタックスを区別するため、ソースコードがより分かりやすい。

強い連携性(glue)

Pythonはシステムプログラミングや複雑な演算が多いプログラムには合わない。だが、Pythonは連携性があるため、他の言語で作られたプログラムにPythonが含められる。例えば、複雑な演算や、早い処理速度が必要な部分はCで作り、そこにPythonを含めることも可能である。もちろんCだけではなく、C++やJAVA, JavaScriptなど多様な言語とPythonを並行で使うことができる。

様々なライブラリ

個人的には一番のメリットだと考えてるのは厖大なライブラリの数である。GUIを開発するためのTkinterまたはPyQTや、ゲーム作成のためのPygame, Pythonで作成されたプログラムを実行ファイルとして作ってくれるPyInstaller、ウェブのクローリングのためのBeautiful Soupなど、記述したライブラリ以外にも厖大なライブラリが存在しているため、効率的に開発ができる。

クロスプラットフォーム開発

前述の通り、厖大なライブラリを提供しているため、OSの環境にかかわらず開発ができる。例として、WindowsでPythonを利用してGUIを開発する場合、ライブラリとしてTkinterまたは、PyQTライブラリを使用する。このライブラリをLinuxでも同じライブラリを使い、開発と実行ができる。このようにPythonのライブラリは厖大で、各OSもサポートしている。

ツールが作りやすい

数多いライブラリとオープンソースまた、簡単な文法ですぐプログラムが作れるPythonはシステム担当者などがツールを作ることに適している。

上記のメリット以外にもPythonでの開発で得られるメリットはたくさんある。その代わりインタプリタ言語であるため、速度の問題や、モバイルプラットフォームでは合わないなどもちろんデメリットもある。

まとめ

Pythonは開発の容易性をメリットとして多角的な開発で使用している。今回はPythonの概要
また、Pythonを使うことのメリットに対して学んでみた。次回は、実際Pythonを利用してセキュリ
ティに役に立つツールを作ってみよう。

Written by CYBERFORTRESS, INC.

サイバーフォートレス CYBERTHREATS TODAY 編集チーム

サイバーフォートレスは、サイバーセキュリティ対策を提供するセキュリティ専門企業です。

セキュリティ対策や、最新のセキュリティ脅威、サイバー攻撃のトレンドなど、当社が研究開発や情報収集した内容をもとに、最新のセキュリティ脅威・セキュリティ対策についてお伝えします。

関連記事

よく読まれている記事