キャリテク!マガジン
- TOP
- キャリテク!マガジン
- Pythonを使って自動化しよう!
Pythonを使って自動化しよう!
こんにちは、吉政創成 菱沼です。
今回からはPythonを使った自動化について、「シゴトがはかどるPython自動処理の教科書(著:クジラ飛行机様/マイナビ出版」を利用して学んでいきます。
Linuxに引き続き、プログラミング分野においても私は超初心者です。
一度、とある定期的に行う業務が面倒だから楽にしたい…ただそれだけのモチベーションで一つのプログラムを作り上げたことがあります。(Pythonではありませんでしたけど。)
これを作るのに非常に四苦八苦し、Google先生に幾度もお伺いを立てながらなんとか作り上げ、完成後はそれまで2、3時間かかっていたものが30分~1時間で済むようになりました。
その後、似たような業務が出てきたときには中身をちょっと書き換えれば流用できてしまうので、私の業務には欠かせないプログラムになりました。
この経験を通して、プログラミングとはなんと素晴らしいものなのだ…と感動したのをよく覚えています。
いまのインターネットが発展した世の中ではちょっとGoogleで検索すれば答えを得ることができます。なので、正直に言ってしまえばそれ自体を詳しく知らなくても、なんとかできてしまう部分は多々ありますが、できたからと言ってプログラミングを理解できているか、一から自分で安全で、誰もが使えるものを作り上げられるかというとそれは別問題だと思っています。
今回学ぶPythonは誰もが使えるものにするのにはとても適した言語だと言われています。
個人的なPythonの関わりについては自分用のプログラムをPythonで作った経験はありませんが、とあるテキストで学習をしたこと、お仕事上、Python業界のお話を聞くことがあるという立場ですので、多少の知識はあるというような感じです。
これまで学習したこと、得た知識を振り返りながら改めて学習していきたいと思いますので、最近うわさに聞くPythonをやってみたいなーという方がいらっしゃればお付き合い頂ければ幸いです。
最近注目のPythonってどんな子?
Pythonといえばここ数年の間に急激に注目度が上がっている言語で、人気プログラミング言語や注目度、身に着けたいプログラミング言語などのランキングで上位に入っている言語ですが、具体的にどんなことができるのでしょうか?
引用P.5
本書のテーマである事務作業の自動化、データ解析、科学計算、IoT、AI(人工知能)まで、多様な分野のプログラムを作ることができます。
なお、Pythonがこれだけ人気になったのには、AI分野で大きな成果を上げたことも理由です。以前からPythonは仕事の自動化で使われていましたが、化学計算ライブラリが充実していたことから、その発展で「AIをやるならPython」という流れができて、現在のPython人気につながりました。
(中略)
なお、Pythonを使って作られたWebサービスには、InstagramやYouTube、Dropboxなど有名なものが多くあります。
ということだそうです。
ちなみに文中に出てきたライブラリですが、みんなが使いたい機能をひとまとめにしたもので、これを使うとわざわざ自分で一からコードを書かなくても使いたい機能を使うことができるというものになります。
(NumPyやpandasは計算系のライブラリで、データ分析分野でよく利用されているライブラリです。)
Pythonの人気の理由の一つにはこのライブラリが充実していることも影響しています。なお、Pythonで使えるライブラリはPyPI(The Python Package Index)で探せるので興味がある方は覗いてみてくださいね。
これ以外にPythonのいいところは、その文法が他言語に比べシンプルでわかりやすいものになっていることから誰が書いても同じようなコードになりやすいため、可読性が高いこと、初学者にとっても学びやすい言語であることもあげられるそうです。
最近ではPythonの求人数の伸びはもちろんですが、案件的にも大規模なものが増えてきているようですし、インフラ業界でも自動化を各社取り入れてきているという話もありますので、インフラエンジニアも身に着けておいて損はないというスキルといえます。
Pythonでできること
このテキストで主に学ぶ部分になるのですが、Pythonによる仕事の自動化といっても、具体的にどんなことができるのかというと次のような項目があるそうです。
引用P.5
どんな仕事が自動化できるのか
・ファイル処理(コピーや削除、検索など)
・データの圧縮、回答や暗号化
・各種データファイルの読み書き
・Excelの操作
・メールの送受信
・ネットワーク処理(データ送受信やスクレイピング)
・データベースの操作
・グラフやレポートの作成
ここに挙げたのは、できることのほんの一部です。
引用P.6
こんなタスクはプログラムを作るべき
・手作業よりもプログラムを作った方が早いタスク
・繰り返し発生するタスク
・手作業でやると間違いが多そうなタスク
・単調でつまらないタスク
・手順が複雑でシステム化したいタスク
・プログラムを作ると面白いタスク
思い当たるお仕事ありますか?私はあります。
そういえば以前、AltXの方とお話をさせて頂いた際に、出退勤のタイムカードに押す時刻をサーバのタイムスタンプを取得して作成した人がいたというお話を伺った記憶があります。 しばらく努力したら、日々の「ちょっと面倒くさい」を、そのあとずっと簡単にできるって素敵ですよね…。
Pythonの最新バージョンは3.10
今回はインストール方法までご紹介したいのですが、その前にまずはPythonのバージョンについて。
現在、Pythonの最新バージョンは昨年10月に公開された3.10になります。 3.8までは18か月ごとに新バージョンが提供されてきましたが、3.9以降は毎年新たなバージョンをリリースするという方針になっているようです。
ただ基本的にPythonは互換性を維持した形でバージョンアップが行われるため、新しいバージョンが提供されたとしても、大体の開発者はライブラリが新バージョンに対応してから新たなバージョンを使い始めるといった形をとっているそうで、様子見期間は大体半年から1年ほどとっているようです。サポートは5年あることを考えると、新機能が利用したいという場合でない限り、そう急いで対応するという感じではないということでした。
ただ、これから学習するなら最新バージョンを使えばいいという感じだそうです。(ちなみにPython3.10ではmatch case構文が新機能として追加されています。)
ちなみにすでにサポートが終了しているバージョン2台と3台では互換性がありません。これから2を使う方はいないと思いますが、昔作ったものをバージョンアップさせるなんていうシーンに遭遇したら注意しましょう。
Pythonのインストール方法
では早速Pythonのインストールです。インストーラーは以下のサイトからダウンロードできます。
https://www.python.org/downloads/
先に書いた通り、使いたいPythonのバージョンをクリックして落とし、インストーラーを実行しましょう!
(次の画像はWindowsです。画像はPythonエンジニア育成推進協会のオープンドキュメントプロジェクトからお借りしています。)
「Add Python x.x to PATH」にチェックを入れたらインストールを実行。流れに任せていけばインストールは完了します。
Python.orgからダウンロードするファイルにはIDLEというエディタが一緒に入っています。
これはプログラムを書き、実行するのに使う統合開発環境のひとつです。
IDLEのように、開発環境として使われるものはほかにもありますし、人気なツールはもちろんあります。
最終的にはご自身の好きな開発環境を選んで作りこんでいくことになりますが、この書籍ではIDLEを使っていくようです。
IDLEはWindowsなら検索すれば出てきますので、起動してみましょう。
Macの場合は注意が必要です。Macには2が最初からインストールされており、3を追加された方は両方の環境が入っていることになりますので、意識して3を立ち上げていただく必要があります。
ちなみに、macOS12.3からはプレインストールは見送られるということではありますので、確認してみてくださいね。
IDELの画面はこんな感じです。
私が使っているのは3.9.9ですね。
それでは今回はこちらで終了です。今回もお付き合いいただきありがとうございました。
「キャリテク!」は未経験者を対象とした採用枠があり、入社後もしっかりした研修カリキュラム、そして未経験者が成長の軌道に乗りやすい仕組みがあります。
興味がある方は以下のセミナーに参加してみてください。
https://www.kcct.co.jp/careetec/seminar/tokyo/