Pythonというプログラム言語

October 5, 2019 – 9:57 am

以前も書いたが、この数カ月間、汎用プログラム言語Pythonについて学んでいる。

このプログラム言語、想像した以上に凄い。初心者用の簡易プログラム言語ぐらいのものだと馬鹿にしていたが、かなりのものなのではと思うようになった。いまはやりの機械学習とかAIの開発のなかで中心的なプログラム言語として選ばれている理由が少しわかってきたようにも思う。

Pythonというプログラム言語について、現時点での、個人的な印象を書いておくことにした。かなり断片的で、ひとりよがりな印象になってしまうかもしれないが、それはそれで、自分の頭のなかを整理しておくだけでもいいのではと考えた。

Pythonの肝は「複合データ型」の存在かも
計算機との付き合いは、私が学生時代のときからだから、もう50年以上にもなる。この間、いろいろなプログラム言語を学んできた。アッセンブラー、フォートラン、C言語、Java からはじまり、最近ではPHP、JavaScript(Node)などだ。

Pythonを学び始めて、最初に戸惑ったのは、「複合データ型」の存在。これまで学んだプログラム言語では、基本的にはひとつの変数がひとつの値に対応し、複数纏めるときには,Array、配列とかというかたちで取り扱かわれるのだが、そういうのとは違う感じで複数の変数や値をひとまとめにして扱うデータ型があったことだ。いままで学んだプログラム言語ではかなり違う印象を受けた。

「複合データ型」には次の3つがある。①リスト(list)、②タプル(tuple)、③辞書(dictionary)というものだ。

これらのデータ型の扱いに慣れるとPythonという言語の習得が早まるような印象だ。このデータ型を扱うのには多少敷居が高いように思うが、乗り越えると、それなりのプログラムが書けるようになるのではと思う。

豊富なモジュール・ライブラリ
Pythonのプログラム言語自身に加え、モジュール・ライブラリが充実している。

データ解析・機械学習に特化したライブラリが豊富なことが、Pythonがデータ解析や機械学習の分野で最もよく使われる大きな理由になっている。こうした分野だけでなく、Webサービスなどについても豊富なツールが利用可能になっている。

さまざまなモジュール・ライブラリの開発が広範に行われ、広く入手可能な状態になっていることは、こうしたモジュール・ライブラリのバージョン管理が適切に行われる仕組みが必須になる。

このあたりが、Pythonを本格的に利用していこうとすると避けられない技術的な課題になる。

私の場合、パッケージ管理用ツール coondaを利用することでこうした困難は一定程度避けることができたように思う。condaを使うことにより、プログラム言語Pytbonのバージョンに適合したパッケージ管理がされており、いまのとこ、ほぼ問題なく利用できているように思う。condaを通じて管理。提供さえるパッケージはバイナリになっているので、私のような、素人にとっては有難い。

condaを使うことにより、モジュール・ライブラリの整合がとれた仮想環境を構築することができる。必要に応じて、特定の仮想環境に必要なモジュール・ライブラリの容易に取りこめる仕組みは強力だ。

Jupyter Notebook/Labの利用
Pythonを用いた開発環境として、Jupyter Notebook、最近ではJupyter Labが利用可能だ。

このツールいわゆるIDE(Integrated Development Environment)の類といえる。

Pythonをベースとするプログラム開発には必須のツールと思える。
  
まとまりのない話を殴り書きしているが、今後、少しづつ加筆・訂正してゆく予定。


Post a Comment