書籍概要

Pythonエンジニア育成推進協会監修 Python 3スキルアップ教科書

著者
発売日
更新日

概要

本書は,Pythonエンジニアとしてのスキルアップを目指す人のための,Python 3の本格的な学習書として執筆されました。Pythonの基本文法,オブジェクト指向,データ構造やコーディング手法,例外処理,標準ライブラリなど,データサイエンスやWebアプリのエンジニアとして必須となるPythonプログラミングの知識やテクニックを,実際に手を動かしながら学べる一冊になっています。「Python 3エンジニア認定基礎試験」を実施している「Pythonエンジニア育成推進協会」が監修しているので,試験を受験する方のための副読本としても役立ちます!

こんな方におすすめ

  • Pythonエンジニアとしてのスキルアップを目指す人

目次

第1章 Pythonの基本

  • 1.1 Pythonとその特徴
  • 1.2 コードの実行方法
  • 1.3 外部パッケージ
  • 1.4 仮想環境

第2章 プログラミング入門

  • 2.1 整数を使った計算
  • 2.2 変数の使い方
  • 2.3 小数
  • 2.4 組み込み関数
  • 2.5 文字列
  • 2.6 文字列とメソッド
  • 2.7 リスト
  • 2.8 リストと添え字
  • 2.9 演算子と真偽値
  • 2.10 関数の引数
  • 2.11 複数同時代入
  • 2.12 モジュールの利用
  • 2.13 importのいろいろな書き方

第3章 制御構文

  • 3.1 if文の基礎
  • 3.2 if文の応用
  • 3.3 for文の基礎
  • 3.4 for文の応用
  • 3.5 while文の基礎
  • 3.6 whileを使ったプログラミング
  • 3.7 ファイルの操作
  • 3.8 バイナリファイルの扱い

第4章 関数

  • 4.1 関数の書き方
  • 4.2 キーワード引数
  • 4.3 引数リスト
  • 4.4 関数とスコープ
  • 4.5 関数はオブジェクト
  • 4.6 ラムダ式
  • 4.7 関数の中の関数
  • 4.8 デコレータ
  • 4.9 コーディングスタイル

第5章 データ構造

  • 5.1 リストのメソッド
  • 5.2 リスト内包表記
  • 5.3 del を使った削除
  • 5.4 タプル
  • 5.5 集合(set)
  • 5.6 集合を使った演算
  • 5.7 辞書(dict)
  • 5.8 辞書を使ったプログラミング
  • 5.9 ループのテクニック
  • 5.10 比較

第6章 クラス

  • 6.1 クラスの基本
  • 6.2 クラス変数とインスタンス変数
  • 6.3 継承
  • 6.4 反復子とジェネレータ
  • 6.5 モジュールファイルを作る
  • 6.6 スコープと名前空間

第7章 エラーと例外の処理

  • 7.1 エラーと例外の基本
  • 7.2 例外の種類と対応方法
  • 7.3 ユーザ定義例外
  • 7.4 クリーンアップ

第8章 標準ライブラリ

  • 8.1 os
  • 8.2 pathlib
  • 8.3 collections
  • 8.4 re
  • 8.5 math/statistics
  • 8.6 datetime
  • 8.7 json
  • 8.8 sqlite3
  • 8.9 decimal
  • 8.10 logging

Appendix

  • A.1 コンピュータの基本
  • A.2 Pythonのセットアップ
  • A.3 用語集
  • A.4 さらに学んでいくために

サポート

正誤表

本書の以下の部分に誤りがありました。ここに訂正するとともに,ご迷惑をおかけしたことを深くお詫び申し上げます。

(2020年9月25日最終更新)

P.276 下から4行目(5.10「or演算子の連鎖」)

戻り値は最後
戻り値は最初

P.293 解答のコード5行目(6.2「問題1の解答」)


def __init__(self, radius, height):

def __init__(self, radius=1, height=1):

(以下2020年7月28日更新)

P.422 問題2のコード12行目(8.10「問題2」)

    logger.exception('test exception message')
    logging.exception('test exception message')

P.423 1行目(8.10「問題2の解説」)

loggerをimportした後に
loggingをimportした後に

(以下2020年6月18日更新)

P.260 問題1のコード2~4行目(5.8「問題1」)

    'Iceland': {'code': 354, 'capital': 'Reykjavík'},
    'Ireland': {'code': 353, 'capital': 'Dublin'},
    'Azerbaidjan': {'code': 994, 'capital': 'Baku'}
    'Iceland': {'code': '354', 'capital': 'Reykjavík'},
    'Ireland': {'code': '353', 'capital': 'Dublin'},
    'Azerbaidjan': {'code': '994', 'capital': 'Baku'}

P.260 問題1のコード8行目(5.8「問題1」)


    if isinstance(x, dict):

    if not isinstance(x, dict):

(以下2020年2月10日更新)

P.182 最下部のコード(4.6「問題1」)


range(1,11)	


range(1, 8)

P.183 上から1つ目のコード(4.6「問題1」)


range(1,11)	


range(1, 8)

P.183 上から2つ目のコード(4.6「問題1」)


range(1,11)	


range(1, 8)

商品一覧