【技術本】退屈なことはPythonにやらせよう
https://amzn.to/3GJ59uU
【技術本】退屈なことはPythonにやらせよう
へポスト
Python3.6がベース。Windows,Mac,Linux環境対応。
初心者にもわかるように、インストール、開発環境の準備の段階から解説してくれている。
前半の約258ページ(全652ページ)は、Pythonの言語仕様、各種構文の解説に費やされている。単に仕様の解説だけでなく、小技のきいた応用例、はまりそうな誤った使用方法に対する回避など、学習上で想定される要所に実例を併せて紹介してくれているので、わかりやすいと思う。後半は、実務での主な事務作業の自動化に役立てそうなレシピを紹介してくれている。
以下のことが学ぶことができる。
Python環境構築
・インストール
・IDLE:インタラクティブ開発環境
Python言語仕様
・基本構文:変数、関数
・データ型:リスト、ディクショナリ
・文字列操作、正規表現
・ファイルI/O、ディレクトリファイル操作
作業自動化
・Webスクレイピング
BeautifulSoupライブラリを使ったHTML解析
Seleniumによるブラウザ制御
・Excel操作
シート選択、セル選択、範囲選択、セル結合
値の変更、追加、削除
Excel関数との連携
グラフ作成
・PDF操作
テキスト抽出、PDF作成、編集
・Word操作
文章読み込み、編集、図の追加
・CSV, JSON
各種読み込み、ExcelからCSVへの変換
・時間制御で自動実行
timeモジュール
日付、時刻、スリープ
マルチスレッド
・SMTP,IMAPを利用したメール送受信
・TwilioというWebサービスと連携してSMSを送信
・画像操作、編集
・キーボードとマウスを直接操作してWebフォームのGUI操作入力の自動化
・日本語版のみ収録:テキスト文章の誤記チェックツール
Pythonは、20世紀に台頭した高水準言語の仕様と比較し、文法が非常に単純化され学習コストと可読性が優れていて、さらにプログラミング実務で実践的かつ実用的に一歩踏み込んだ便利な関数やデータ構造、受け渡し処理の機能が豊富。そのため他の言語では数行もかかった処理を、シンプルかつ1行で記述するなんてことも可能。本書では単純な小さなプログラムを組む程度の規模に抑えてあるが、それらの恩恵を十分読み解くことができると思う。
後半の実務での自動化に役立つレシピは、Webサイト解析、各種ドキュメントのファイルフォーマットに対応した操作、メールやSMSによる送信、マウスとキーボードの実画面操作の紹介があり、それらを時間やタイマーやメール受信トリガで制御し、マルチスレッドで並行処理できるまでを解説しているので、読者のタスク自動化の構想やアイディアを十分に刺激してくれると思う。足りない機能などは今後自力で調査できるところまで基礎知識を紹介してくれているので問題ない。
全体として、1冊でPython初心者が言語仕様から学び作業自動化できるまでの段階を網羅した1冊となっていると感じた。
なお、Webスクレイピングでより高度な情報を知りたい場合は「PythonによるWebスクレイピング」が同オライリーより出版されている。認証、Cookie、JavaScriptが必要なサイトの解析、Bot対策サイトの解析、画像解析などに興味があれば参考までに。
へポスト