みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。
ついにPythonに手を出してしまいました。
VBAやGASがあるのに、なぜわざわざPythonというプログラミング言語に手を出すのか、そしてそれをオススメするのか…不思議ですよね?
ですが、Pythonを知れば知るほど
- 非エンジニアのプログラミング初心者
- 一般のビジネスマン
- Windowsユーザー
といった人たちに有益なものであるという確信が得られてきました。
ということで、本ブログでは一般のビジネスマン向けにPythonを超初心者からステップアップしながらお仕事に活用していくための方法を紹介していきたいと思います。
初回の今回は、Pythonとは何か?そしてそれを学ぶメリットについてお伝えしていきます。
では、いってみましょう!
別のプログラミング言語はもういらないでしょ?
ビジネスマンのお仕事の効率化でいうと、本ブログでもお伝えしている通り、VBAやGoogle Apps Scriptを使うことで、それはもう相当な効果を期待することができます。
VBAができてしまえば、ビジネスマンの圧倒的多数が使用しているOffice製品とそのファイルも操作できます。
GASができてしまえば、スプレッドシートやGmail、Googleカレンダーをはじめとした完全クラウド志向のGoogle製品はもちろん、API経由で様々な外部アプリケーションも操作できるようになります。
それに加えて、何を操作するというのか?別のプログラミングなんか必要ないでしょ?
と思いますでしょ。
それに、Pythonというと、機械学習やデータ解析とか、研究開発とか、GoogleやDropboxなどの大企業で使われているとか、どうせLinuxかMacでしかまともに動かないでしょとか、すごくハードルが高い印象を持っちゃったりしていませんか?
そうでしょそうでしょ。私もそうでしたから。
でも、違うんです。今、非エンジニアのWindowsを使っているビジネスマンにとって、Pythonはとっても身近で、かつ即戦力として役立ち、そして将来の可能性を一気に広げてくれる、そんな存在になりつつあります。
Pythonとは何か
公式サイトを訪れるとそのトップページにPythonとは何かが書いてあります。Google翻訳をに助けてもらって直訳的にすると
Pythonはすぐに作業できて、より効果的にシステムを統合できるプログラミング言語です。
という感じでしょうか。
非エンジニアの一般ビジネスマンの視点で一言でまとめると「学びやすくて、できることが多いプログラミング言語」と言えるでしょう。
以下、具体的にPythonの特徴を紹介していきます。
文法がシンプル
とにかく、文法がシンプルで書きやすく、読みやすいというのが大きな特徴です。
「for」とか「if」など、プログラムの中で使うためにあらかじめ決められたキーワードを「予約語」と言いますが、Pythonでは予約語の数は33ワードだけだそうです。たった33…ちなみに、JavaScriptでは61、C++は63、Rubyは40だそうです。
それ以上に重要な点として、Pythonは誰が書いても同じような書き方になるように作られています。
ブロック構造がその最たる例なのですが、javaScriptやでは{}とか、VBAではIf~Then~End Ifなどと書くところを、インデントだけでブロックを表現します。
Pythonでは、インデントをしないとブロックとして認められないわけですから、みんなちゃんとインデントするわけです。
VBAでどれだけ「ちゃんとインデントして…!」と口を酸っぱくして言ってきたことか…Excel VBAの拙著でも伝えていますが、可読性の高さは開発や運用の効率や、習得の速さでいうと非常に重要なのです。
Pythonであれば、それは必然的に身につくというか、守らざるを得ないということになります。
豊富なライブラリ
文法がシンプルなのに、どうして「できることが多い」のか、というとライブラリが豊富にあるという点があります。
そもそも、標準で同梱されているライブラリの中にも
- csv
- json
- HTML
- ファイルやディレクトリ
- 正規表現
- 数学
- 乱数
- インターネットアクセス
- データ圧縮
- パフォーマンス計測
…など、それはもう豊富なラインナップが含まれています。(ちなみに、その標準ライブラリは全てちゃんと日本語化されています。)
それに加えて、サードパーティからもExcel、Word、PDF、Webアプリケーション、GUI、数値解析、スクレイピング、そして機械学習などなど、ありとあらゆるものを操作するためのライブラリが大量に提供されています。Googleドライブってやつもありました。
そして、2017年8月執筆時点では、なんと提供されている数は
There are currently 114100 packages here.
11万を超えています…!
正直、そんなにライブラリなくても大丈夫な感じですが、これらのライブラリの中から必要なものをインポートして使っていけばよいですし、それだけ「できること」の可能性が広がっているといえますよね。
バッテリー同梱(batteries included)
Pythonには「電池が付属しています(”Battery Included”)」という思想があります。
前述の豊富な標準ライブラリが示すように、プログラマがすぐにPythonを活用できるように、必要なライブラリや統合環境をあらかじめ配布物(ディストリビューションといいます)に含めるようにしているのです。
ひと昔前までは、WindowsよりもLinuxやMacのほうが環境として充実していたり、パッケージ管理ツールが別だったりしていたそうですが、最近のバージョンアップで次々に「電池が付属」するようになってきています。
ですから、現在ではWindows版でもPythonをインストールしたら、すぐに開発が開始できるようになっているのです。
そして無料
それらのディストリビューションは全て公式サイトから無料でダウンロードできます。
無論、公式のディストリビューションだけでなく、大量のサードパーティ製のライブラリも無料で提供されています。
Pythonを学ぶメリット
非エンジニアのWindowsを使っている一般のビジネスマンにとって、Pythonを学ぶメリットはどこにあるのでしょうか?
以下、お伝えしていきます。
職場で活用ができる
VBAはOfficeが必要ですし(たいがいのビジネスマンのPCには入っていますが)、GASでいうと悲しいかなGoogle Appsの使用を禁止している会社もあります。
ですが、Pythonはその実行に必要な全てがディストリビューションに含まれているので、公式サイトからダウンロードしてインストールさえすれば、すぐに活用できます。
もちろん、Windows版があります。無料ですから社内申請も不要な場合がほとんどでしょう。
そして、Pythonはファイルやフォルダの操作、csvなどのテキストファイルやpdfファイルの操作、ブラウザの操作やスクレイピングなどができますから、実務に直結したツールの開発ができます。
ですから、Pythonで業務効率化→さらにPythonを学ぶ時間の創出→別の業務をPythonで効率化→…といったスパイラルに入ることができます。
実務に直結しないと、帰宅後や土日に集中して学習をしなくてはいけないのですが、それで習慣化するのはかなり難しくなります。
実務に直結するのは、忙しいビジネスマンにとって大きなポイントとなります。
効率的にプログラミングスキルを上げる
他のプログラミング言語を知らない場合は、気づかずに終わるかも知れませんが、Pythonの徹底した文法ルールによる読みやすさ、書きやすさは、プログラミング初心者にとっては大きなメリットです。
初心者のうちは「動けばいい」というスタンスでコードを書いてしまうものですから、読みづらいコードを書いてしまいがちです。
そして、その調子のまま習得を重ねてコードが増えてくると、メンテナンス性や再利用性に乏しいコードばかりに囲まれるという、かなり苦しい状況が待ち受けています。
ですが、Pythonはそうなりにくい。なにせ、きれいに書かないとコードが動かないわけですから。
初心者のうちからキレイなコードが書ける。
これは、プログラミング初心者にとって、とってもありがたいことです。もしかすると、Pythonをやれば、他のプログラムもキレイに書けたりするというメリットもあるかも知れません。
広がる将来性
Pythonは当然実務に活用する方向でスキルを磨いていくのも良いですが、ある程度習得してきた先には
- GUIによるアプリケーション開発
- Webアプリケーション開発
- データ解析
- 機械学習
など、IT業界のトレンドの最先端の領域も視野に入れることができます。
もちろん、そのために磨くべきスキルや知識は少なくないでしょうが、複数の最先端の領域へと道がつながっているというのは、たいへん魅力的ですし、強力なメリットと言えるでしょう。
まとめ
Pythonの魅力、なかなかすさまじいものがありますね。
非エンジニアのWindows派の一般ビジネスマンにとっても、Pythonには学ぶべき十分な魅力とメリットがあることがおわかりいただけたと思います。
ただ、Pythonを学ぶ上で、ちょっとだけ注意点があります。
Pythonの世界は非常に広く、そして展開がものすごく速いです。
バリバリのデータ分析系の人たちにとってベストな環境やテクニックと、初心者の一般ビジネスマンにとってベストな環境やテクニックは異なりますよね。誰をターゲットにした情報なのかを見定めながら、情報の取捨選択をすることが求められます。
また、ネットや書籍で得られる情報は、少し前の情報で既に古い情報かも知れないということにも注意を払う必要があります。
この二点、ぜひ気を付けてください。
ということで、このシリーズでは、非エンジニアのWindows派の一般ビジネスマンがPythonを強力な武器として身に着けていくためのステップとなるべく展開していきますので、ぜひご活用くださいませ。
次回は、Windows版Pythonをインストールしていきます。
どうぞお楽しみに!