『独学プログラマー』
Python言語の基本から仕事のやり方まで
https://images-fe.ssl-images-amazon.com/images/I/51uxXXlJcKL.jpg https://www.amazon.co.jp/dp/B07BKVP9QY
本の感想rmaruon.icon
訳者あとがきにもあるように、「学び方を教える」今までにない初学者向けの本だと思う
訳注や日本語版のコラム、補章が充実していて、原著の粗さをカバーして情報量が増えているのがよかった
tinyurlのリンクが切れてたり、回答例が間違ってそうなのがあったりなのが残念
勉強にはなる
気づいたなかでメモしているのを公開
第12章 チャレンジ4
問題文は馬 has 騎手なのに、回答例が騎手 has 馬
第17章 チャレンジ3
何かの文字の後にoが2回登場する単語に一致する正規表現
解答はr'.oo'
私はr'\Soo'とした
後日見たら、問題文に対しては解答が正しいように見えるrmaruon.icon
第20章
Google ニュースのページの仕様変更により、この節で紹介している 原著の コードではヘッドライン記事 の URL を集められなくなりました。
そこで、日経トレンディネットのページから、記事の URL をスクレイピングできるコード (プログラム を用意いたしました。
atcl/newsにニュース記事がないので動作しない
結局Yahooニュースでやった
第1部 (Part 1)
第1章 イントロダクション 2
本書の構成 3
大事なところから学ぶ 4
あなただけじゃない 5
独学の強み 5
プログラムを書くと良いこと 6
断固として継続しよう 7
この本の表示について 7
この本で扱っている技術 8
用語集/チャレンジ 9
第2章 さあ、はじめよう! 10
プログラミングってなに? 10
Pythonってなに? 11
Pythonのインストール 11
困ったときは 12
対話シェル 12
プログラムを保存する 13
例題プログラムを実行する 14
用語集/チャレンジ 15
第3章 プログラミング入門 16
コード例 16
コメント 18
出力 19
行 19
キーワード 21
スペース 21
データ型 22
定数と変数 24
構文 28
エラーと例外 29
算術演算子 31
比較演算子 33
論理演算子 36
条件文 38
文 43
用語集/チャレンジ 46/48
第4章 関数 50
コンセプトを表してみる 50
関数 51
関数を定義する 51
組み込み関数 54
関数を再利用する 57
必須引数とオプション引数 59
スコープ 60
例外処理 63
ドキュメンテーション文字列 67
必要なときにだけ変数を使おう 68
用語集/チャレンジ 68/69
第5章 コンテナ 70
メソッド 70
リスト 71
タプル 76
辞書 78
コンテナの中のコンテナ 83
用語集/チャレンジ 86/87
第6章 文字列操作 88
三重クォート文字列 88
インデックス 88
文字列はイミュータブル 90
文字列の足し算 91
文字列のかけ算 91
大文字小文字変換 91
書式化 92
分割 94
結合 94
空白除去 95
置換 96
文字を探す 96
包含 97
エスケープ文字 98
改行 99
スライス 99
用語集/チャレンジ 101/102
第7章 ループ 104
forループ 104
range 108
whileループ 109
break 110
continue 112
入れ子のループ 113
用語集/チャレンジ 115/116
第8章 モジュール 118
重要な組み込みモジュール 118
ほかのモジュールをインポートする 121
用語集/チャレンジ 123
第9章 ファイル 124
ファイルに書き出す 124
ファイルを自動的に閉じる 127
ファイルから読み込む 127
用語集/チャレンジ 131/132
第10章 知識を1つにまとめる 134
チャレンジ 139
第11章 ハマったときの助け 140
読んでみよう 140
その他の読み物 140
助けてもらうには 141
第2部(Part2)
第12章 プログラミングパラダイム 144
状態 144
手続き型プログラミング 144
関数型プログラミング 147
オブジェクト指向プログラミング 148
用語集/チャレンジ 155/156
用語集/チャレンジ 168/169
第14章 もっとオブジェクト指向プログラミング 170
クラス変数 vs インスタンス変数 170
特殊メソッド 173
is 175
用語集/チャレンジ 176/177
第15章 知識を1つにまとめる 178
Card 178
Deck 181
Player 182
Game 182
戦争のコード全体 184
第3部(Part3)
Bashを使うために 191
Bashを見つけよう 191
コマンド 192
最近使ったコマンド 193
相対パス vs 絶対パス 193
作業ディレクトリの変更 195
フラグ 197
隠しファイル 198
パイプ 199
環境変数 199
ユーザー 200
さらに学ぶ 201
用語集/チャレンジ 202/203
準備 204
シンプルな一致 206
前方一致と後方一致 208
複数文字との一致 209
数値との一致 210
繰り返し 211
エスケープ 214
正規表現ツール 214
用語集/チャレンジ 215
パッケージ 216
pip 216
仮想環境 220
用語集/チャレンジ 220/221
リポジトリ 223
はじめよう 224
プッシュとプル 226
プッシュしてみよう 227
プルしてみよう 231
前のバージョンに戻す 232
差分 233
次のステップ 235
用語集/チャレンジ 236
第20章 知識を1つにまとめる 238
用語集/チャレンジ 244/245
第4部(Part4)
第21章 データ構造 248
スタックを使って文字列を逆順にする 251
チケット行列 255
用語集/チャレンジ 257
出現する文字列を数える 262
用語集/チャレンジ 266/267
第5部(Part5)
第23章 プログラミングのベストプラクティス 270
コードを書くのは最後の手段 270
どのデータも1カ所で定義しよう 271
1つの関数には1つのことだけをさせよう 272
時間がかかりすぎるなら、たぶん何か間違えている 272
最初に良い方法で実装しよう 272
慣例に従おう 273
用語集 277
第24章 プログラマーとしての最初の仕事 280
道を選ぶ 280
経験しよう 281
面接を受ける 282
面接 282
面接をハックする 283
第25章 チームで働く 286
基本をマスターする 286
Google検索できることを質問しない 286
コードを変更する 287
第26章 さらに学ぼう 290
古典で学ぶ 290
オンライン授業で学ぶ 291
ハッカーニュース 291
第27章 次のステップ 292
メンターを見つけよう 292
本質を探る努力をしよう 292
アドバイスを得よう 293
第6部(Part6)
補章 より良いコードにするために 296
補章 継続して学ぶために 302
謝辞 309
訳者あとがき 310
索引 314