見出し画像

活動報告17(2022年3月)

プロジェクト箱「Python編(中級4)」
 気が付けば1年近くPythonの学習に最優先で取り組んでいたが、ようやく実用的なレベルに到達できたので、Pythonの総論的学習の仕上げに取り掛かると同時に、薬箱のGUI製作も開始することにした。

11冊目:Al Sweigart (2017) 「退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング」。この本は多くの人に推薦されているので楽しみにしていた。原書第2版はすでに出ているので、どうせ読むなら表紙も既にできているし、日本語版の発売まで待とうと決めていた。しかし、当初の予定では昨年10月だったのが本年2月となり、今は7月に出版予定と延期を繰り返している。さらにずれ込む可能性も否定できず、待ちきれなくなったので結局第1版を購入した。kindle版は出てないのでオライリージャパンのサイトから入手し、iBooksで読む。

本の内容はPythonを使用してタスクを自動処理する方法の解説となっているが、それを可能にする種々のモジュールが用意されていることと1000ページを超える分量に圧倒される。前半1/3を占める第I部は、実践的な基礎項目が集約されて説明されているが、これは復習内容なので問題ない。本命は第2部からで、様々なタスクにおける処理の自動化が取り上げられている。最初は正規表現の説明から始まっており、この本でようやく本格的に学ぶことができた。一見、暗号にしか見えない正規表現を用いることで、パターンマッチングの大幅な効率化が得られることを実感できる。
 この本の特徴は、例題や章末にあるプログラミング課題が豊富にあることで、その内容も吟味されており歯ごたえがある。サンプルの解答をそのまま入力しただけではうまく動かないことも多く、ネット上で解決策を調べてコードを修正する手間もあるため、読み進めるのに非常に時間がかかる。今まではどの参考書でも大体一月1冊単位で進んでいたが、このペースだと3~4か月かかりそうで恐ろしくなる。まだ読了には至らないが、評判通りの良書と思える。今までは参考書の内容通りにPythonを学ぶだけであり、それ以上の意味におけるプログラミングの必然性はなかった。しかし、本書では今学んだ自動処理の技術を、自分の仕事にどう適用して業務の効率化を図っていけるのかと、思案しながら学んでいく姿勢は新鮮なものである。

一方で、GUIについてだが、本格的なGUIとしてのtkinterの評判はあまり良くないみたいだ。そもそも、GUIアプリ開発者のユーザーが少なく、日本語での有用情報も少ないとのこと。確かに、検索しても日本語では有用な情報を得るのが難しかった。本格的なGUIのためには、XMLやJSONで定義できるGUIツールキットを使うのが主流みたいだが(知ったかぶりで言ってみた。テヘペロ。)、計画より遅れているのでこのままtkinter一本で突き進む覚悟を決めた。前回のカラーチャートから分かるように、使用可能な色の制限はないに等しいのでその点は有難いが、実現したいGUIイメージとtkinterによる技術的表現との折り合いをつける必要がある。
 目標とするGUIは人の認識機能に影響を及ぼすために動的な仕掛けが必要と考えており、その点はCanvas上で演算により表現できると目星をつけているが、さて、指針となるべき参考書がない分野なので、自分のプログラミング能力が試されそうだ。

この記事が気に入ったらサポートをしてみませんか?