目次
第1章 はじめの一歩
- プログラミング環境のセットアップ
- Pythonのバージョン
- 短いPythonコードを実行する
- VS Codeエディター
- 異なるOS上のPython
- Windows上のPython
- macOS上のPython
- Linux上のPython
- Hello World!プログラムを実行する
- VS CodeにPython拡張機能をインストールする
- hello_world.pyを実行する
- トラブル解決方法
- Pythonのプログラムをターミナルで実行する
- Windows
- macOSとLinux
- まとめ
第2章 変数とシンプルなデータ型
- hello_world.pyの実行時に何が起こっているのか
- 変数
- 変数に名前をつけて使用する
- 変数のNameErrorを避ける
- 変数はラベル
- 文字列
- 文字列メソッドで大文字小文字を変える
- 文字列の中で変数を使用する
- 文字列にタブや改行を加える
- 空白文字を取り除く
- 接頭辞を削除する
- 文字列のシンタックスエラーを避ける
- 数値
- 整数
- 浮動小数点数
- 整数と浮動小数点数
- 数値の中のアンダースコア
- 複数同時の代入
- 定数
- コメント
- コメントの書き方
- コメントには何を書くべきか
- The Zen of Python: Pythonの禅
- まとめ
第3章 リスト入門
- リストとは
- リスト内の要素にアクセスする
- インデックスは1ではなく0から始まる
- リストの中の個々の値を使用する
- 要素を変更,追加,削除する
- リスト内の要素を変更する
- リストに要素を追加する
- リストから要素を削除する
- リストを整理する
- sort()メソッドでリストを永続的にソートする
- sorted()関数でリストを一時的にソートする
- リストを逆順で出力する
- リストの長さを調べる
- リストを操作するときのIndexErrorを回避する
- まとめ
第4章 リストを操作する
- リスト全体をループ処理する
- ループ処理の詳細
- forループの中でより多くの作業をする
- forループのあとに何かを実行する
- インデントエラーを回避する
- インデントを忘れる
- 追加の行でインデントを忘れる
- 不要なインデントをする
- ループのあとに不要なインデントをする
- コロンを忘れる
- 数値のリストを作成する
- range()関数を使用する
- range()関数を使用して数値のリストを作成する
- 数値のリストによる簡単な統計
- リスト内包表記
- リストの一部を使用する
- リストをスライスする
- スライスによるループ
- リストをコピーする
- タプル
- タプルを定義する
- タプルのすべての値でループする
- タプルを上書きする
- コードのスタイル
- スタイルガイド
- インデント
- 1行の長さ
- 空行
- 他のスタイルガイドライン
- まとめ
第5章 if文
- 簡単な例
- 条件テスト
- 等しいことを確認する
- 等価性の確認時に大文字小文字を無視する
- 等しくないことを確認する
- 数値の比較
- 複数の条件を確認する
- 値がリストに存在することを確認する
- 値がリストに存在しないことを確認する
- ブール式
- if文
- 単純なif文
- if-elif-else文
- 複数のelifブロックを使用する
- elseブロックを省略する
- 複数の条件をテストする
- リストとif文を使用する
- 特別な要素を確認する
- リストが空でないことを確認する
- 複数のリストを使用する
- if文のスタイル
- まとめ
第6章 辞書
- シンプルな辞書
- 辞書を操作する
- 辞書の値にアクセスする
- 新しいキーと値のペアを追加する
- 空の辞書から開始する
- 辞書の値を変更する
- キーと値のペアを削除する
- 似たようなオブジェクトを格納した辞書
- get()を使用して値にアクセスする
- 辞書をループする
- すべてのキーと値のペアをループする
- 辞書のすべてのキーをループする
- 辞書のキーを特定の順番でループする
- 辞書のすべての値をループする
- 入れ子
- 複数の辞書によるリスト
- 辞書の値にリストを入れる
- 辞書の値に辞書を入れる
- まとめ
第7章 ユーザー入力とwhileループ
- input()関数の働き
- わかりやすい入力プロンプトを書く
- int()関数を使用して数値を受け取る
- 剰余演算子
- whileループの紹介
- whileループの動作
- いつ停止するかをユーザーに選ばせる
- フラグを使う
- breakを使用してループを終了する
- ループの中でcontinueを使う
- 無限ループを回避する
- whileループをリストと辞書で使用する
- あるリストから別のリストに要素を移動する
- リストから特定の値をすべて削除する
- ユーザーの入力から辞書を作る
- まとめ
第8章 関数
- 関数を定義する
- 関数に情報を渡す
- 実引数と仮引数
- 実引数を渡す
- 位置引数
- キーワード引数
- デフォルト値
- 関数を同じように呼び出す
- 実引数のエラーを回避する
- 戻り値
- 単純な値を返す
- オプション引数を作成する
- 辞書を返す
- whileループで関数を使用する
- リストを受け渡す
- 関数の中でリストを変更する
- 関数によるリストの変更を防ぐ
- 任意の数の引数を渡す
- 位置引数と可変長引数を同時に使う
- 可変長キーワード引数を使用する
- 関数をモジュールに格納する
- モジュール全体をインポートする
- 特定の関数をインポートする
- asを使用して関数に別名をつける
- asを使用してモジュールに別名をつける
- モジュールの全関数をインポートする
- 関数のスタイル
- まとめ
第9章 クラス
- クラスを作成して使用する
- イヌのクラスを作成する
- クラスからインスタンスを生成する
- クラスとインスタンスを操作する
- 自動車のクラス
- 属性にデフォルト値を設定する
- 属性の値を変更する
- 継承
- 子クラスの__init()__メソッド
- 子クラスに属性とメソッドを定義する
- 親クラスのメソッドをオーバーライドする
- 属性としてインスタンスを使用する
- 現実世界のモノをモデル化する
- クラスをインポートする
- 1つのクラスをインポートする
- モジュールに複数のクラスを格納する
- モジュールから複数のクラスをインポートする
- モジュール全体をインポートする
- モジュールからすべてのクラスをインポートする
- モジュールの中にモジュールをインポートする
- 別名を使用する
- 自分のワークフローを見つける
- Python標準ライブラリ
- クラスのスタイル
- まとめ
第10章 ファイルと例外
- ファイルを読み込む
- ファイルの内容を読み込む
- 相対パスと絶対パス
- ファイルの行にアクセスする
- ファイルの内容を扱う
- 100万桁の巨大なファイル
- πの中に誕生日は含まれているか?
- ファイルに書き込む
- 1行を書き込む
- 複数行を書き込む
- 例外
- ZeroDivisionErrorを例外処理する
- try-exceptブロックを使用する
- クラッシュ回避のために例外を使用する
- elseブロック
- FileNotFoundErrorを例外処理する
- テキストを分析する
- 複数のファイルを扱う
- 静かに失敗する
- 通知対象のエラーを決める
- データを保存する
- json.dumps()とjson.loads()を使用する
- ユーザーが生成したデータを保存して読み込む
- リファクタリング
- まとめ
第11章 コードをテストする
- pipを使用してpytestをインストールする
- pipを更新する
- pytestをインストールする
- 関数をテストする
- ユニットテストとテストケース
- テストに成功する
- テストを実行する
- テストに失敗する
- 失敗したテストに対応する
- 新しいテストを追加する
- クラスをテストする
- さまざまなアサーション
- テスト対象のクラス
- AnonymousSurveyクラスをテストする
- Fixtureを使用
付録
- A Pythonのインストールとトラブルシュート
- Windows上のPython
- macOS上のPython
- Linux上のPython
- 使用しているPythonのバージョンを確認する
- Pythonのキーワードと組み込み関数
- B テキストエディターとIDE
- VS Codeで効率的に作業する
- その他のテキストエディターとIDE
- C 助けを借りる
- はじめの一歩
- インターネットで検索する
- Discord
- Slack