“学びたい”を刺激するメディア。

2020.11.21

Column

プログラミング言語・Python(パイソン)が注目を集める理由

プログラミング言語・Python(パイソン)が注目を集める理由

多くの方が普段の業務で普通に使っている表計算ソフト、Excel。

その操作を現在最も注目を集めるプログラミング言語、Pythonで行えることをご存じでしょうか?

汎用性の高いPythonを使うことで、さまざまな業務効率化を実現できるかもしれません。

そんなPythonによるExcel操作を全4回に渡って解説するのがSchooの授業『Excel×Pythonで業務効率化』です。すべての授業で講師を勤めるのは株式会社イーザー代表取締役副社長の金宏和實(かねひろ・かずみ)先生。

第1種情報処理技術者の資格を持ち、開発業務とライター活動の両方を兼務。これまでに20冊以上の書籍にかかわってきた金宏先生の講義を通してPythonについて知ることで新しいExcel操作の王道を無理なく身につけることができるでしょう。

目次

  • どうしてExcelの操作でPythonを使うべきなのか
  • Pythonの特徴1:予約語が少ない
  • Pythonの特徴2:インデント(字下げ)が文法である

 

どうしてExcelの操作でPythonを使うべきなのか

 

第一回のテーマは「Pythonとはどのような言語なのか」です。「Excelの操作はVBAでも行うことができるのになぜPythonかとお思いになったのではないか」と金宏先生は問題提起します。VBAとはマイクロソフトが1990年代に開発したプログラミング言語で、ExcelやWordといったOffice製品の操作に特化して用いられます。

 

そんな専用の言語VBAがあるにも関わらず先生がPythonを使った操作を強くお勧めする理由、それは2000年代に開発されたPythonは汎用性がありスッキリと記述することができるシンプルな言語だからです。

 

 


Pythonの特徴1:予約語が少ない

Pythonがシンプルな理由の一つ目は「予約語が少ない」ということ。予約語とはそのプログラミング言語の中で特別な意味を持つ言葉です。「予約語の数が増えると、そのプログラミング言語を覚える“前”に勉強しなくてはならないことが増えるんです」と先生は説明します。

 

すなわち、プログラミング言語を実際に使う前に必要となる勉強時間を予約語が少ないPythonでは節約することができるのです。

 

Pythonには「予約語を調べるプログラムコード」があり、以下のように記述します。

 

import keyword

 

print(len(keyword.kwlist))
print(keyword.kwlist)

 

授業では先生によって実際にVisual Studio Code(ビジュアルスタジオコード:Microsoft社製のコードエディタ)に上記のプログラムコードが記述され、実行されました。

 

 

「このプログラムの内容についても同時に説明していきたいと思います」と先生。

 

「import」と記述された部分で「keyword」というライブラリがインポートされています。ライブラリとは、汎用性の高いプログラムのまとまりを意味しており、ライブラリをインポートする、すなわち「読み込む」ことでその言葉に紐づけられたライブラリを利用することができるようになります。

 

「keyword.kwlist」は予約語を取得するための記述です。その前に長さを判別する関数「len」を書くことで予約語の数を取得することができます。さらに「print」でそれらを出力します。

 

その下部の「print(keyword.kwlist)」は予約語をそのまま出力するための関数です。

 

「それでは実行してみましょう」と先生。「実行」ボタンをクリックして開かれたタブから「デバッグなしで実行(Ctrl+F5)」を選択しました。

 

すると、下図のように結果がターミナルに表示されました。

 

 

予約語の数は35で、その下に書いてある[‘False’, ‘None’,~ ‘yield’]までの単語が予約語一覧です。数えてみれば35個単語が並んでいることがわかるでしょう。

 

Pythonの予約語は上記の35個であり、これはほかの言語に比べて少ないといわれているということです。「他のプログラミング言語だと50とか60とか言われている場合もあります」と金宏先生。

 

予約語は単語一つ一つがそれぞれ意味を持ちます。「それぞれの意味についてはゆっくり解説していきます」ということです。

 

ここでリアルタイム受講生の方から寄せられたのが「ビジュアルスタジオコード、これは何をしている画面なのでしょうか」という質問。Schooの授業はリアルタイムで視聴している場合、コメント欄から疑問に思ったことを直接書き込むことができます。その内容が受講生代表や先生の目に留まった場合は、授業中に解説が受けられます。

 

上記の質問に対する先生の答えは「ビジュアルスタジオコードはMicrosoftが提供しているIDE(統合プログラミング開発環境)です。これを使ってプログラミングの編集、文法チェック、プログラミングの実行をすることができます」というものでした。授業のほかの部分ではビジュアルスタジオコードのインストール方法もしっかりと説明されます。

 


Pythonの特徴2:インデント(字下げ)が文法である

先生によって説明されたPythonがシンプルな言語である理由の2つ目は、「インデント(字下げ)が文法である」ということです。

 

「他のプログラミング言語にない特徴なので、まずこのことを理解しないとプログラムがなかなか思った通りに書けません」と先生は断言します。

 

この内容もビジュアルスタジオコードにて実際にプログラムを記述しながら説明されました。

 

実際に記述されたプログラムコードは以下の通りです。

 

X = 100
Y = 200
a =True #TrueからFalseにする
if a:
  x -= 100
  y -= 200 #インデントを削除してみる
print(x,y)

 

 

x」「y」はともに変数で、それぞれ「100」「200」という数値が代入されています。その下では変数aに真偽値にあたるTrueが代入されています。そして、「if」以降の文で“もしこの後の条件がTrue(真)だったら条件が成り立つのでifの下に書かれてある「x -= 100」と「y -= 200」を実行する”という内容が記述されています。そしてその下の「print(x,y)」で最終的な「x」「y」の値が出力されます。

 

そのプログラムは実行され、以下のようにターミナルに答えが出力されました。
「a=True」と定義されているため、if以下の条件は実行され、「x」「y」ともに「0」と出力されています。

 

 

前述の「if」の条件が当てはまる部分(=ifブロック)がほかの部分と比べて字下げして記述されていることにお気づきでしょうか?

 

もしもこのインデントが削除されるとプログラムの実行結果は変わってしまいます。なぜならPythonはインデントでifブロックの範囲を判定しているからです。ちなみにCやJavaといったプログラミング言語の場合はインデントの代わりに「{}(中カッコ)」が用いられるということです。

 

Pythonはインデントを文法に含めることで、記述する文字数を減らしています。だからこそ、シンプルな言語と称されるのです。

 

授業ではほかにも「ライブラリが豊富」「VBAとの違い」といったPythonの特徴についてビジュアルスタジオコードでの演習を交えつつ先生から直接解説されています。

 

今回取り上げた授業はシリーズの第1回「Excel×Pythonで業務効率化」です。

 

第2回では「PythonでExcelシートを扱うには」、第3回では「シート間の転記処理をPythonで作成」と題してより実践的な内容が解説されます。

 

PythonでExcelを使いこなせるようになりたい人は必見です!

 

 

『Excel×Pythonで業務効率化 第1回 Python×Excel:Pythonの基礎を学ぶ』(未会員の方は無料で1時間視聴可能です。)

http://schoo.jp/class/7163/room

 

文=宮田文机

おすすめ記事

本日の生放送

ペンシルからのプッシュ通知を設定しておくと、新着記事のお知らせなどをブラウザ上で受信できて便利です。

通知を受信しますか?