
この記事でわかること
今回は、2021年エンジニアが学びたいプログラミング言語ランキング1位に選ばれたPythonについて書かせて頂きました。
当記事の内容は、プログラミングを始めたばかりの人や新卒社員、これからPythonを学ぶ方に向けた内容となっております。
目次
1. Pythonとは
2. Pythonの特徴
3. Pythonでできること
4. 資格試験
5. 参考書籍・参考サイト
1. Pythonとは
1990年代初頭ごろから公開されているプログラミング言語で、「読みやすさ・分かりやすさ」を重視しており、Pythonを知らない人でも理解しやすいようにデザインされています。実用的なプログラミング言語として広く使われています。読みやすさ・習得しやすさ・実用性のバランスがPythonの大きな魅力です。
システム管理やツール・アプリケーション開発・科学技術計算・Webシステムなどで広く利用されてきました。
特に、機械学習ブームにより、優れた科学技術計算ツールとして評価され、大きな人気を得ました。また、日本の国家資格である基本情報技術者試験で出題されるプログラミング言語にPythonも追加されました。
これからのソフトウェア産業を支える基礎技術となることが想定されます。
2. Pythonの特徴
Python言語は「読みやすくて書きやすい」をコンセプトに開発された言語であり、他言語に比べてプログラムの記述量が少なくて済むという特徴があります。
また、Pythonではライブラリという便利なプログラムをまとめたものを使いながらプログラミングするのが一般的です。このライブラリの数が非常に豊富という特徴があります。
たとえば、グラフを描写するためのグラフを書くには、通常複雑な処理をいくつも記述する必要があります。しかし、Matplotibというライブラリを使えば非常に簡単にグラフを書くことが出来ます。
・代表的なライブラリ
ライブラリ名 | 概要 |
NumPy | 数値演算をする際に便利なライブラリ |
Pandas | データ分析に必要なDataFrameという道具を扱うためのライブラリ |
Matplotib | グラフを作成するためのライブラリ |
Requests | WebページにアクセスするためのHTTPライブラリ |
BeautifulSoup4 | Webスクレイピング時に利用するライブラリ |
3. Pythonでできること
Pythonの豊富なライブラリによって、下記に強みを発揮します。
- アプリケーション作成
- データ分析
- Webスクレイピング
- タスクの自動化
- 機械学習
それぞれについて解説していきましょう。
- アプリケーション作成
Pythonを使えば、比較的容易にアプリケーションを作成できます。
たとえば、視覚的に操作ができる画面(インターフェイス)をGUI(Graphical User Interface)や、YouTube、Dropbox、Instagram
などのWebアプリケーションを作成するための強力なライブラリが存在します。
- データ分析
データ分析を行う際には、本格的に分析を始める前に、分析しやすいようにデータを加工する「前処理」という面倒で地道な作業があります。たとえば、複数のデータを1つに結合したり、一括でデータの値を変換したりします。
また、莫大なデータを集計してクロス集計表を作成したり、データを視覚的に読み取りやすいようにグラフを描いたりする「データの可視化」を行ったりもします。
Pythonにはデータ分析やデータの可視化をするための強力なライブラリが豊富にあります。たとえば、Pandasと呼ばれるライブラリを使えば、これらの複雑な処理も数行のプログラムを書くだけで行うことができます。
- Webスクレイピング
Webスクレイピング(以降:スクレイピング)とは、データ分析などで必要となる情報をWebページから取り出す行為のことをいいます。このスクレイピングを上手く活用できれば、これまで手作業で行っていたWebページから情報を収集する作業を自動化できます。下図のように、通常スクレイピングでは
①Webページにアクセスしてページ情報を取得する
②取得したページ情報から必要な情報を取り出し構造化して保存する
という2段階の手順を踏む必要があります。

スクレイピングを行うには、各ステップに対応したプログラムを記述する必要があり、特に②の部分は難易度が高いといえます。それは、Webページの構造がサイトによって大きく異なることから、Webページに合わせてプログラムをカスタマイズしなければならないからです。
しかし、ライブラリのRequestsやBeautifulSoupを使用することによって、少ないプログラミングの記述量で実現できます。
具体的には、Requestsを使ってWebページにアクセスし、BeautifulSoupを使ってWebページから必要な情報を抽出します。
スクレイピングを行う際には非常に短時間に集中してWebページにアクセスすることになり、相手のWebサーバーに負荷をかけることになるため、アクセスする間隔をあけるなどしてアクセス先のサーバーに負荷をかけないための配慮が求められます。
また、Webページ上にある情報を使用する際には、関連する法律や各Webサイトが示す利用規約を守る必要があります。
- タスクの自動化
単純なコピー&ペーストや、決まった繰り返しの作業を自動的に行わせること機能のことを「マクロ」といいます。たとえば、テキストファイルを開き、内容をコピーしたものをExcelにペーストするといった作業があったとします。対象となるテキストファイルが膨大にあった場合には、手作業で行うと大変な手間がかかります。しかし、Pythonのライブラリを使うと、このような面倒な作業も簡単に自動化できます。
Pythonにはマウスやキーボードの自動操作や、Excelなどの他のアプリケーションを直接操作するためのライブラリもあります。
たとえば、ライブラリのOpenPyXLはExcelの読み書きを行うためのライブラリです。Excel内シート内のセルの値の読み書きや、複数のExcelファイル間でのデータのコピー、Excelシート内にグラフを挿入するといったことを行えます。
このOpenPyXLを上手に使えば、Webページのアクセス数をまとめたレポートや、日々の売上数を集計したレポートなどの作成も自動化できます。これらをまとめれば、業務効率化ツールとしての利用も可能です。
- 機械学習
AIを開発する言語として、今、Pythonがよく採用されています。現在のAIには、「機械学習」という数学的な手法が多く利用されており、この機械学習手法の多くがPythonのライブラリの中に実装されています。基本的な機械学習手法であれば、ライブラリのScikit-learnを使うことで、商品の売上予測を行うようなモデルを数行のプログラムで作成できます。
深層学習(Deep Learning:ディープラーニング)のような高度な機械学習手法も、Googleが開発したTensorflowというライブラリを使用することで、Pythonで実装することが可能です。
4. 資格試験
2021年11月現在、資格区分は2種類あり、Oracleが実施する「Python3エンジニア認定基礎試験」と「Python3エンジニア認定データ分析試験」があります。Python3エンジニア認定基礎試験では、Pythonの文法や基礎知識について問われます。
・Python3エンジニア認定基礎試験
対象試験 | Python3エンジニア認定基礎試験 |
出題形式 | CBT(Computer Based Testing)形式 |
試験時間 | 60分 |
問題数 | 40問 |
合格ライン | 70%(28問) |
受験料 | 一般価格:11,000円(税込) |
履歴書の表記 | Pythonエンジニア認定試験 Python3エンジニア認定基礎試験 取得 |
Python3エンジニア認定データ分析試験では、データ分析の基礎や方法、数学やデータ解析ライブラリ「Pandas」に関する知識について問われます。
・Python3エンジニア認定データ分析試験
対象試験 | Python3エンジニア認定データ分析試験 |
出題形式 | CBT(Computer Based Testing)形式 |
試験時間 | 60分 |
問題数 | 40問 |
合格ライン | 70%(28問) |
受験料 | 一般価格:11,000円(税込) |
履歴書の表記 | Pythonエンジニア認定試験 Python3エンジニア認定データ分析試験 取得 |
Ⅴ. 参考資料・参考サイト
- https://www.python.jp
- https://cbt.odyssey-com.co.jp/pythonic-exam.html
- Marketing Python AI時代マーケターの独習プログラミング入門(できるビジネス)著者:高田朋貴 , 戸間幸大 , 丹羽悠斗