歴史的日記

contact: yoheitabo@gmail.com

退屈なことはPythonにやらせよう(読書メモ)

Al Sweigart 著、相川愛三 訳『退屈なことはPythonにやらせよう』オライリー・ジャパン、2017年

www.oreilly.co.jp

 

原著

原著をフリーで読めるのが大きい。

Automate the Boring Stuff with Python

これを使って何をやりたいかというと、英語と日本語の慣用表現を交互に確認することで、プログラミング用語を覚えたい。

 

目次

訳者まえがき

まえがき

 

第I部 Python プログラミングの基礎

1章 Python 入門

2章 フロー制御

3章 関数

4章 リスト

5章 辞書とデータ構造

6章 文字列操作

 

第II部 処理の自動化

7章 正規表現によるパターンマッチング

8章 ファイルの読み書き

9章 ファイルの管理

10章 デバッグ

11章 Web スクレイピング

12章 Excel シート

13章 PDF ファイルと Word 文書

14章 CSV ファイルと JSON データ

15章 時間制御、自動実行、プログラム起動

16章 電子メールや SMS の送信

17章 画像の操作

18章 GUI オートメーションによるキーボードとマウスの制御

 

付録A サードパーティー製モジュールのインストール

付録B Python スクリプトの実行

付録C 演習問題の解答

付録D 日本語テキスト処理

索引

 

訳者まえがき

訳者まえがきの作成日は2017年4月19日

翻訳にあたっては、原書にあったミスを訂正したほか、コーディングスタイルをキャメルケースから標準的な下線つなぎに変更したり、%による文字列フォーマットをformat() メソッドに書き換えたりしています。また、各種モジュールの最新バージョンの仕様に合うように修正しています。特に Excel 文書を読み書きする OpenPyXL のバージョンアップは激しく、機能がますます充実しています。Twilio は日本のサイトでの申込みと日本国内での動作を確認しています。*1

こういう情報はさすがに自力で原書を読むだけだと最初は掴めないので、かなり役に立つ。

ググる

・format() メソッド

・OpenPyXL

・Twilio

あたりがわからないのでググる

ググり

Pythonのformatメソッドによる文字列フォーマットの方法 | UX MILK 

 

Twilio for KDDI Web Communications | コミュニケーションAPI

本節(16.5.4)では、Twilio というサービスで SMS を送信する Python モジュールを使う方法を説明します。Twilio は、SMS ゲートウェイサービスのひとつで、プログラムから SMS を送信することができます。*2

 

PythonでExcel作業を自動化するOpenPyXLのはじめての使い方

 

まえがき

本書の構成

その場限りのコードを書く人向けの本なので、コードのスタイルや美しさにはあまり配慮していません。オブジェクト指向プログラミングやリスト内包、ジェネレータなど、洗練されたプログラミングの考え方は、複雑になるので説明していません。*3

このあたりは一冊読んだ後で勉強すればいいという感じで。

Python のダウンロードとインストール

めっちゃ簡単ですごかった。Python すごい。

 

1章 Python 入門

1.2 整数、浮動小数点数、文字列型

式とは、値と演算子が組み合わさったもので、必ずひとつの値に評価されるものでした。値のカテゴリーをデータ型といい、すべての値はいずれかひとつのデータ型に属しています。(中略)例えば、-2 や 30 の値は、整数(int)型の値です。整数型は、整数値を表すデータ型です。「イント」と読みます。*4

整数 int 型の概念が登場した。

プログラミングを覚えるにあたってつらいのが、こういう重要そうな名前がだいたい英語の略語とかになっていることが多くて、英語わからないので名前を覚えられなくて止まる、みたいなことがある。

int はつまり「整数」を意味する integer の略らしいが、この integer すら英単語として知らないのでつらい。

そのため、余裕のある間に出来る限り語源まで遡って記憶に定着させていきたい。

integer は Dictionary.com によると、

1500-10; < Latin: untouched, hence, undivided, whole, equivalent to in-in-3+ -teg- (combining form of tag-, base of tangere to touch) + -er adj.suffix

ラテン語で「触れられていない、分割されていない、完全な」などを意味する語だったとのこと。

 

続けて、浮動小数点の話。こちらは整数以上に馴染みのない概念なので、やはり語義を確認しておきたい。

一方、 3.14 のような小数点を含む数値は、浮動小数点数(float)型です。「フロート」と読みます。42 という値は整数型ですが、42.0 は浮動小数点数型になることに注意してください。

よくわからないので、ざっくり jawp を読む。

浮動小数点数 - Wikipedia

他にも色々な記事がある。

【5分で覚えるIT基礎の基礎】ゼロから学ぶ2進数 第4回 | 日経 xTECH(クロステック)

Q&Aで学ぶマイコン講座(17):浮動小数点演算のメリット (1/4) - EDN Japan

浮動小数点数について本気出して考えてみた - 一から勉強させてください( ̄ω ̄;)

まあざっくりわかってきた。ざっくり。

 

先へ進む。

 

文字列 string の話だ。

Python のプログラムは、文字列(str)型というテキストの値を持つこともできます(ストリング、ステア、ストルなどと読みます)。

なんで「文字列」が string なのか気になる。 

面白い感じの記事が見つかった。

Why Is a String Called a String? — SitePoint

*1:P.viii

*2:P.443

*3:P.xiii 

*4:P.7