【漫画でIT入門】とあるIT企業の社員活動日誌 第21話「プログラミング学習のすゝめ⑦ Pythonとは?特徴と出来る事」
パソコンを使う人のありそうでなさそうなお話や、ガジェットのお話を漫画で紹介させていただくコーナーです。
とあるIT企業に務める彼女たちは日々楽しく真面目に業務に励んでいます。その中で、起こったハプニングや困った事などを活動日誌を通して覗き見していきましょう。
※当ブログは、アフィリエイトプログラムに参加して商品を紹介しております。当ページのリンクを介して商品を購入すると著者に収益が発生することがあります。
【漫画で入門】「とあるIT企業の社員活動日誌」各話一覧はこちら
目次
Pythonとは?https://amzn.to/3uwskCo
Python(パイソン)は1990年代初頭ごろから公開されているプログラミング言語で、わかりやすく、実用的な言語として、広く使われ続けています。
Pythonはプログラムの「読みやすさ・わかりやすさ」をとても重視していて、Pythonを知らない人でも、理解しやすいようにデザインされています。
もちろん、読みやすさ一辺倒ではなく、実用的で、高い拡張性も備えています。読みやすさ・習得しやすさと、実用性のバランスが、Pythonの大きな魅力といえるでしょう。
Pythonは汎用的なプログラミング言語の利用度調査などでは、常に高い位置を占めています。システム管理やツール・アプリケーション開発・科学技術計算・Webシステムなどで広く利用されてきました。特に、2010年代ごろからの機械学習ブームでは、優れた科学技術計算ツールとして評価され、大きな人気を得ました。
2020年度からは、日本の国家資格である基本情報技術者試験で出題されるプログラミング言語に、Pythonも追加されました。
従来から選択可能だったCやJavaなどの言語に加え、Pythonもソフトウェア産業を支える基礎技術として活用されていることがよくわかります。
Pythonの特徴とは?
GoogleやInstagram、YouTube、Evernote……。 多くの方が必ず使用したことであろう多くの世界的サービスにPythonは使用されています。
なぜここまでPythonが選ばれているのか。その理由には以下のようなものが挙げられます。
• 設計思想の根底にある「シンプル」主義
• 初心者でも学びやすい
• 開発プログラムである「ライブラリ」が数万以上もある
• モバイルアプリからWebアプリ、ドローンのプログラミングまで用途が広い
シンプルに学べて、用途が幅広く、多くの人が使用していることでコミュニティを通じて多くのコードを読むことが出来ます。
その点が開発者のツボをついておりが人気の要因と言えるでしょう。
プログラミング言語の中でも、Pythonを学習するメリットはさまざまです。
その中から、いくつか代表的なものを紹介します。
Pythonの特徴①「初心者でも学習しやすい」(ソースコードが少ない)
Pythonは、文法がシンプル(ソースコードの記述量が少ない)なため、コーディング初心者にとっても習得しやすい言語といわれています。
シンプルな文法ゆえに、コードを読みやすく、書きやすい。他の人が書いたコードを書き直す際も、比較的対応しやすい言語といえるでしょう。
また、ソースコードの記述量が少ないため、かんたんなプログラミングであれば、短時間で完了できますし、記述ミスも比較的にしにくいというシンプルさも特徴といえます。
Pythonの特徴②「汎用性が高く、広く使用される言語である」こと
Pythonは、広い領域で使用されている言語です。
Webアプリケーション開発システム管理、科学技術計算・Webシステムなどなど用途はさまざであり、ここ10年ほどは機械学習ブームによって科学技術計算ツールとして高く評価されています。
InstagramやYouTubeなど、世界的なサービスでも使用されています。
プログラム言語ランキングで世界4位であるという点からも、その需要の高さがわかるでしょう。
Pythonの特徴③「求人数が多く、ニーズが高い」こと
Pythonは汎用性が高い言語と前述しましたが、転職市場を見てもPythonエンジニア、プログラマーのニーズの高さは伺えます。
大手求人サイトの「Indeed」で「Python」を検索すると、かなり多くの求人がヒットします。
多くの企業・サービスで採用されているため、その分、人手が必要とされているということです。
もちろん、企業によって求められるレベル感は違いますが、プログラマーとしてキャリアを切り開くのにはオススメの言語といえるのではないでしょうか。
Pythonで出来ること
Pythonは汎用的なプログラミング言語で、いろいろなアプリケーション開発や、システム管理ツールとして幅広く使われています。ある程度の規模の企業なら、まったくPythonを利用していない、という企業はあまりないでしょう。
PythonはさまざまなWebサービスの開発にも使われています。
著名なサービスでは、InstagramはPythonを使ってサービスを提供しています。
本来、Pythonはいわゆるスクリプト言語で、実行性能よりも使いやすさを優先した構造になっています。C言語などと比べれば実行速度は劣りますし、メモリ使用量も多くなります。Instagramのように、非常に多くのユーザからのリクエストを処理するサービスでは、最適なプログラミング言語とは言えません。
それでも、Instagram は実行性能では劣るPythonとDjangoを採用しています。
その理由としては処理がどんなに高速でも、必要な機能を迅速に開発し、適切なタイミングで提供できなければ、ユーザに支持されるサービスにはならないからです。
Pythonで出来ること①「科学技術計算」
Pythonは科学技術計算のためのツールとしても広く使われています。PythonはFortranやC言語のような、高速な科学技術計算が得意な言語ではありません。
しかし、Pythonの柔軟なアーキテクチャにより、FortranやC言語で開発された高速な処理を、Pythonに組み込んで利用するように拡張できます。
こういった拡張を用意することで、プログラミングが専門ではない研究者でも、学習が容易なPythonを使って科学技術計算を実行できるようになります。
そしてPythonには科学的研究をサポートするツールとして、Jupyter Notebookがあります。
このJupyter NotebookはWebアプリケーションで、文章や実行可能なプログラム、実行結果のグラフなどを、一つのドキュメントにまとめて管理できます。
プログラムを対話的に修正・実行して結果を保存できるので、調査・研究に必要な試行錯誤に最適な環境となっています。
Pythonで出来ること②「データサイエンス」
Pythonの科学技術計算環境は、データサイエンス分野でも広く活用されています。
なかでも機械学習関連では大きな注目を集めており、GoogleのTensorFlowやFacebookのPyTorchなど、主要なパッケージはPythonを利用したパッケージが中心となっています。
現状、機械学習を学ぶには、Pythonの知識が必須と言えるでしょう。
Pythonの基本文法
Pythonは俗に言う「スクリプト言語」と呼ばれる言語です。このスクリプト言語はC言語やJavaなどの本格的な言語ではなく、どちらかと言えばPHPやRubyなどに近いです。
「スクリプト言語」とはいう事は「インタープリタ」であるとも言えます。「インタープリタ」とはソースコードを書いたテキストを1行ずつ読み込んではコンピュータが実行出来る命令に変換しながら動いている、ということです。
つまり、Pythonは「テキストファイルでソースコードを書けば、それが動く」ということになります。コンパイルとかプログラムのビルドとか、そういうややこしいことは一切なし。ただエディタで書くだけで動かせる、ということです。
そして、「動かすにはインタープリタが必要」ということでもあります。Cなどは、プログラムが実行出来る命令のかたまりにソースコードを変換(俗にコンパイルという作業)してしまい、EXEファイルを作ります。このEXEファイルはそのままダブルクリックして動かすことができます。
Pythonは、そういうのはできません。
Pythonのプログラムを動かすには、Pythonのソースコードを翻訳し実行するための「インタープリタ」が必要です。
「インタープリタ」はソースコードを1行ずつ読み込んでコンピュータがその都度処理を行い実行するためC言語などと比べてしまうと処理速度が落ちます。しかし、その欠点を補うほどの簡略性と記述のしやすさ、可読性の高さが「インタープリタ」式のプログラミング言語の良いところです。
もちろんPythonも非常に記述しやすい言語です。では実際に「Hello,World」の出力で簡単に見ていきましょう。
Pythonで「Hello,World」を出力する
print(‘Hello,World’)
Pythonで「Hello,World」の出力を行う記述は以上になります。非常に簡略であり明快な記述になります。
では、中身を簡単に見ていきましょう。
このプログラムの要素は2つに分かれます。
①print関数
②文字列’Hello,World’
です。
print関数とは「引数(ひきすう)に受け取ったものを画面などに表示(出力、print)」するために、Pythonに標準で組み込まれている「関数」の1つです。Pythonにおける「関数」は数学の関数に似たもので、「引数に何かの値を渡すと、その値を基に何らかの計算を行い、その結果を返す」ような動作をします。print関数では「何らかの計算」と「その結果」を「画面に表示する」に相当する動きをします。
そして、Pythonには複数の関数をまとめたものをモジュールと呼ばれるもが存在します。さらに複数のモジュールをまとめたものをパッケージと呼びます。そして、そのパッケージを複数まとめたものをライブラリと呼びます。
ライブラリには標準ライブラリと外部ライブラリがあります。標準ライブラリはPythonに最初から備わっているもです。逆に外部ライブラリは様々なものが存在しておりそれぞれ特化した使い方をします。代表的な外部ライブラリには「OpenCV」や「Numpy」などがあります。
次にこの’Hello World’は、Pythonの「文字列」です。「文字列」とは「文字が連なったもの」のことで、ここでは「H」「e」……「l」「d」という1つ1つの文字が連なって「Hello World」という文字列を構成しています。
文字列であることはシングルクオート「’」で囲んで示します(ダブルクオート「”」も使える)。
プログラミングの世界では、ユーザーに何かを伝えたり、ファイルにテキストを保存したりするなどの目的で文字列を使用します。
以上がPythonでの「Hello,World」の出力の仕方と基本的な構文になります。
まとめ
今回はPythonについてご紹介していきました。
Pythonは近年人工知能の開発に活用されており注目を浴びている言語です。また、言語自体も非常にシンプルでプログラミング初心者でも学びやすい言語になっています。
これからもPythonの需要は高いと思いますのでまだ勉強されていない方は勉強することをお勧めします。
そして、これからプログラミングを始めようと考えている方はPythonから勉強してみてはいかがでしょうか。
さらに学べるおすすめ書籍
・野球データでやさしく学べるPython入門 いきなり「グラフ作成」「顧客分析」ができる
・スッキリわかるPython入門 第2版 (スッキリわかる入門シリーズ)