改訂新版 最短距離でゼロからしっかり学ぶ Python入門 必修編〜プログラミングの基礎からエラー処理、テストコードの書き方まで

[表紙]改訂新版 最短距離でゼロからしっかり学ぶ Python入門 必修編〜プログラミングの基礎からエラー処理、テストコードの書き方まで

紙版発売

B5変形判/312ページ

定価3,630円(本体3,300円+税10%)

ISBN 978-4-297-14528-6

電子版

→学校・法人一括購入ご検討の皆様へ

書籍の概要

この本の概要

世界で150万部突破の「PYTHON CRASH COURSE」の翻訳版,「最短距離でゼロからしっかり学ぶ Python入門 必修編」の改訂新版です。Python 3.7から3.11へのアップデートのほか,書籍で使用するエディタをSublime TextからVisual Studio Codeに変更します。必修編では,変数,データ型,リスト,if文,while,クラスなど,Python言語の基本を1冊に凝縮して解説します。

こんな方におすすめ

  • Pythonをゼロから短期間で習得したい人
  • プログラマーの目線で,コードの書き方を学びたい人
  • プログラミングのしっかりした知識をはじめから身につけたい人

目次

第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

著者プロフィール

Eric Matthes(えりっくまってす)

25年間高校の数学と科学の教師であり,初級のPythonクラスで教える中でよりよいカリキュラムの道を探していた。現在はフルタイムの執筆者兼プログラマーとして,いくつかのオープンソースプロジェクトに参加している。彼のプロジェクトのゴールは広範囲にわたり,山岳地帯の土砂崩れを予測するものからDjangoプロジェクトのデプロイをシンプルにするものまである。執筆やプログラミングをしていないときは,山登りを楽しんだり家族との時間を過ごしている。


鈴木たかのり(すずきたかのり)

一般社団法人PyCon JP Association代表理事,株式会社ビープラウド 取締役/Python Climber。

部内のサイトを作るためにZope/Ploneと出会い,その後必要にかられてPythonを使いはじめる。PyCon JP 2024共同座長。他の主な活動はPythonボルダリング部(#kabepy)部長,Python mini Hackathon(#pyhack)主催,Python Boot Camp(#pycamp)講師など。

各国PyConやPython Boot Campで訪れた土地で,現地のクラフトビールを飲むことが楽しみ。 フェレットとビールとレゴが好き。趣味は吹奏楽(トランペット)とボルダリング。


安田善一郎(やすだぜんいちろう)

株式会社Surface&Architecture執行役員,株式会社ニューロマジック監査役,シエルセラン合同会社代表。

日本IBMを経て(株)ニューロマジックを設立。その後フリーランスとなりPythonベースのPloneをはじめさまざまなCMSでサイト構築(企画・IA・ディレクション)を手がける。現在は,デザインプロジェクトのマネジメントをはじめ各社で複数の業務に携わっている。