WINGS(Www INtegrated Guide on Server-architecture)
Www INtegrated Guide on Server-architecture :
   ホーム お問い合わせ サーバサイド環境構築設定 つぶやき ブックマーク レンタルサーバー 総合FAQ/訂正&ダウンロード このエントリーをはてなブックマークに追加        
  • 刊行書籍情報  [書籍マップ
  • オンライン公開 技術記事
  • シリーズ別書籍リスト
  • 「WINGS News」登録/解除
  • WINGSプロジェクト紹介
  • WINGSプロジェクトメンバ募集





【カテゴリ】 Python


独習Python  

独習Python

山田祥寛/著
株式会社 翔泳社/発行
定価 3,000円(+税)
B5変版・ 568ページ・ 1色
ISBN 978-4-7981-6364-2
発刊日: 2020年6月22日

[Amazon.co.jpからオンライン購入する]

   FAQ 本書訂正 アンケート ダウンロード

本書の特徴

手を動かしておぼえるPythonプログラミング

Pythonの基本的な言語仕様から、標準ライブラリ、ユーザー定義関数、オブジェクト指向構文、モジュールまで、サンプルプログラムを例示しながら詳細かつ丁寧に解説します。解説→例題(サンプル)→理解度チェックという3つのステップで学習を進めます。
書籍掲載サンプルは、サポートページからダウンロード可能。

まとめて読んで 更にスキルアップのこんな書籍

・人気のPythonフレームワークDjangoの解説書
速習 Django 3」(WINGSプロジェクト)
分野・レベル別マップ

本書について取り上げていただいたブログさま

・ビープラウド社長のブログ - haru860さま
独習Pythonは、入門書の次のスモールステップとしてオススメ(2020年8月17日)
・tchikuba's blog - tchikubaさま
【書籍レビュー】「独習Python」を献本頂きました(2020年7月28日)
・無限大な夢のあと - noimpslmtbrkさま
【書評】独習Python ( @yyamada )(2020年7月26日)
・Yuu's Memo - Yuu’s Memoさま
【独習PYTHON】を読んで(2020年7月19日)
・pdamemo’s blog - pdamemoさま
書評「独習Python」(2020年7月15日)
・WEB講習所 - gengen33さま
独習 Python(2020年7月14日)
・CodeZine - CodeZine編集部さま
【新刊紹介】『独習Python』発売、Pythonをしっかり学びたい方向けの骨太の入門書(2020年7月10日)

  Contents


第1章 イントロダクション
1.1 Pythonとは?
 1.1.1 マシン語と高級言語
 1.1.2 コンパイル言語とインタプリター言語
 1.1.3 スクリプト言語
 1.1.4 オブジェクト指向言語
 1.1.5 Pythonのライブラリ
1.2 Pythonの歴史と現状
 1.2.1 Pythonの歴史
 1.2.2 Python開発の状況
1.3 Pythonアプリを開発/実行するための基本環境
 1.3.1 準備すべきソフトウェア
 1.3.2 Windows環境の場合
 1.3.3 macOS環境の場合
 1.3.4 サンプルの配置
1.4 Pythonプログラミングの基本
 1.4.1 コードの実行方法
 1.4.2 Pythonシェルによる実行
 1.4.3 ファイルからコードを実行する
1.5 Pythonの基本ルール
 1.5.1 文字コードの設定
 1.5.2 文を区切るのは改行
 1.5.3 指定された値を表示する「print」
 1.5.4 大文字/小文字を区別する
 1.5.5 コメントは開発者のための備忘録
1.6 開発/学習の前に押さえておきたいテーマ
 1.6.1 デバッグの基本
 1.6.2 ブラウザー上で実行できるPython開発環境「Jupyter Notebook」
この章の理解度チェック

第2章 Pythonの基本
2.1 変数
 2.1.1 変数の宣言
 2.1.2 識別子の命名規則
 2.1.3 よりよい識別子のためのルール
 2.1.4 変数の破棄
 2.1.5 定数
2.2 データ型
 2.2.1 データ型の分類
 2.2.2 論理型(bool)
 2.2.3 整数型(int)
 2.2.4 浮動小数点型(float)
 2.2.5 【補足】数値セパレーター
 2.2.6 複素数型(complex)
 2.2.7 文字列型(str)
 2.2.8 リスト(list)
この章の理解度チェック

第3章 演算子
3.1 算術演算子
 3.1.1 データ型によって挙動は変化する
 3.1.2 文字列と数値との演算
 3.1.3 除算を表す演算子「/」「//」
 3.1.4 浮動小数点数の演算には要注意
3.2 代入演算子
 3.2.1 数値のインクリメント/デクリメント
 3.2.2 「=」演算子による代入は参照の引き渡し
 3.2.3 ミュータブルとイミュータブル
 3.2.4 アンパック代入
 3.2.5 新しい代入演算子「:=」【Python 3.8】
3.3 比較演算子
 3.3.1 異なる型での比較
 3.3.2 リストの比較
 3.3.3 浮動小数点数の比較
 3.3.4 同一性と同値性
 3.3.5 条件演算子
3.4 論理演算子
 3.4.1 ショートカット演算(短絡演算)
 3.4.2 比較演算子の連結
3.5 ビット演算子
 3.5.1 ビット論理演算子
 3.5.2 ビットシフト演算子
3.6 演算子の優先順位と結合則
 3.6.1 優先順位
 3.6.2 結合則
この章の理解度チェック

第4章 制御構文
4.1 条件分岐
 4.1.1 if命令――単純分岐
 4.1.2 if命令――多岐分岐
 4.1.3 if命令――入れ子構造
 4.1.4 【補足】条件式を指定する場合の注意点
4.2 繰り返し処理
 4.2.1 条件式がTrueの間だけ処理を繰り返す――while命令
 4.2.2 【補足】無限ループ
 4.2.3 リストの内容を順に処理する――for命令
 4.2.4 決められた回数だけ処理を実行する――for命令(range関数)
 4.2.5 リストから新たなリストを生成する――リスト内包表記
4.3 ループの制御
 4.3.1 ループを中断する――break命令
 4.3.2 現在の周回をスキップする――continue命令
 4.3.3 ループでの終了処理を実装する
 4.3.4 入れ子のループを中断/スキップする
4.4 例外処理
 4.4.1 例外を処理する――try命令
 4.4.2 例外が発生した場合、しなかった場合の処理を定義する
この章の理解度チェック

第5章 標準ライブラリ【基本】
5.1 ライブラリの分類
 5.1.1 関数
 5.1.2 型
 5.1.3 組み込み型/関数とモジュール
5.2 文字列の操作
 5.2.1 文字列の長さを取得する
 5.2.2 文字列を大文字⇔小文字で変換する
 5.2.3 部分文字列を取得する
 5.2.4 文字の種類を判定する
 5.2.5 文字列を検索する
 5.2.6 文字列の前後から空白を除去する
 5.2.7 文字列に特定の文字列が含まれるかを判定する
 5.2.8 文字列を特定の区切り文字で分割する
 5.2.9 リストを結合する
 5.2.10 文字列を置き換える
 5.2.11 文字を整形する
 5.2.12 str型⇔bytes型を変換する
5.3 日付/時刻の操作
 5.3.1 日付/時刻値を生成する
 5.3.2 年月日、時分秒などの時刻要素を取得する
 5.3.3 日付/時刻を加算/減算する
 5.3.4 日付/時刻値の差分を求める
 5.3.5 日付/時刻値を比較する
 5.3.6 日付/時刻値を整形する
 5.3.7 カレンダーを生成する
この章の理解度チェック

第6章 標準ライブラリ【コレクション】
6.1 シーケンス型
 6.1.1 リストの生成
 6.1.2 リストから特定範囲の要素を取得する――スライス構文
 6.1.3 リストの要素数を取得する
 6.1.4 リストに要素を追加/削除する
 6.1.5 リスト内の要素を削除する
 6.1.6 複数要素を追加/置換/削除する
 6.1.7 リストを検索する
 6.1.8 リストを複製する
 6.1.9 リストを連結する
 6.1.10 リストの内容を並べ替える
 6.1.11 リストをforループで処理する方法
 6.1.12 リスト内の要素がTrueであるかを判定する
 6.1.13 リスト内の要素を加工する
 6.1.14 リストの内容を特定の条件で絞り込む
 6.1.15 リスト内の要素を順に処理して1つにまとめる
 6.1.16 キュー構造を実装する
 6.1.17 イミュータブルなリストを生成する
6.2 セット(集合)型
 6.2.1 セットの生成
 6.2.2 セットの基本操作
 6.2.3 要素の有無/包含関係を判定する
 6.2.4 和集合/差集合/積集合などを求める
 6.2.5 セット内包表記
6.3 辞書(dict)型
 6.3.1 辞書の生成
 6.3.2 ハッシュ表とキーの注意点
 6.3.3 辞書の基本操作
 6.3.4 既定値を持つ辞書を定義する――defaultdict
 6.3.5 辞書内包表記
この章の理解度チェック

第7章 標準ライブラリ【その他】
7.1 正規表現
 7.1.1 正規表現の基本
 7.1.2 文字列が正規表現パターンにマッチしたかを判定する
 7.1.3 マッチしたすべての文字列を取得する
 7.1.4 正規表現オプションでマッチング時の挙動を制御する
 7.1.5 【例】正規表現による検索
 7.1.6 正規表現で文字列を置換する
 7.1.7 正規表現で文字列を分割する
7.2 ファイル操作
 7.2.1 【例】テキストファイルへの書き込み
 7.2.2 テキストファイルを読み込む
 7.2.3 バイナリファイルの読み書き
 7.2.4 タブ区切り形式のテキストを読み書きする
 7.2.5 オブジェクトのシリアライズ
7.3 ファイルシステムの操作
 7.3.1 フォルダー配下のファイル情報を取得する(1)
 7.3.2 フォルダー配下のファイル情報を取得する(2)
 7.3.3 フォルダー/ファイル情報を再帰的に取得する
 7.3.4 フォルダーを作成/リネーム/削除する
 7.3.5 フォルダーを作成/リネーム/削除する(複数階層)
 7.3.6 フォルダー/ファイルをコピーする
7.4 HTTP経由でコンテンツを取得する
 7.4.1 requestsモジュールの基本
 7.4.2 HTTP POSTによる通信
 7.4.3 【例】JSONデータを取得する
7.5 その他の機能
 7.5.1 数学演算――mathモジュール+組み込み関数
 7.5.2 乱数を生成する――randomモジュール
 7.5.3 データ型を変換/判定する――int/float関数など
 7.5.4 モジュール/クラスに含まれる要素を確認する
この章の理解度チェック

第8章 ユーザー定義関数
8.1 ユーザー定義関数の基本
 8.1.1 ユーザー定義関数の基本構文
 8.1.2 関数名
 8.1.3 仮引数と実引数
 8.1.4 戻り値
8.2 変数の有効範囲(スコープ)
 8.2.1 グローバル変数とローカル変数
 8.2.2 関数内でグローバル変数を利用する――global/nonlocal
 8.2.3 【補足】ブロックレベルのスコープ
8.3 引数のさまざまな記法
 8.3.1 引数の既定値
 8.3.2 キーワード引数
 8.3.3 可変長引数の関数
 8.3.4 可変長引数(キーワード引数)
 8.3.5 「*」「**」による引数の展開
8.4 関数呼び出しと戻り値
 8.4.1 複数の戻り値
 8.4.2 再帰関数
 8.4.3 高階関数
 8.4.4 無名関数(ラムダ式)
この章の理解度チェック

第9章 ユーザー定義関数【応用】
9.1 デコレーター
 9.1.1 デコレーターを利用しない例
 9.1.2 デコレーターの基本
 9.1.3 【例】関数の結果をキャッシュする
 9.1.4 引数を受け取るデコレーター
 9.1.5 クロージャー(関数閉方)
9.2 ジェネレーター
 9.2.1 yield命令
 9.2.2 【例】素数を求めるジェネレーター
 9.2.3 ジェネレーターの主なメソッド
 9.2.4 一部の処理を他のジェネレーターに委譲する
 9.2.5 ジェネレーター式
9.3 関数のモジュール化
 9.3.1 モジュールの定義
 9.3.2 モジュールをインポートする
 9.3.3 モジュールの検索先
 9.3.4 【補足】インポート時の作法
 9.3.5 パッケージ
9.4 非同期処理
 9.4.1 コルーチンの基本
 9.4.2 非awaitableな処理をawait式に渡す
 9.4.3 タスクの作成と実行
9.5 ドキュメンテーション
 9.5.1 docstringの基本
 9.5.2 ドキュメント生成ツール「Sphinx」
 9.5.3 【注意】デコレーターにおけるdocstring
 9.5.4 関数アノテーション
この章の理解度チェック

第10章 オブジェクト指向構文
10.1 クラスの定義
 10.1.1 最も簡単なクラス
 10.1.2 インスタンス変数
 10.1.3 メソッド
 10.1.4 クラスメソッド
 10.1.5 staticメソッド
 10.1.6 クラス変数
10.2 カプセル化
 10.2.1 カプセル化とは?
 10.2.2 インスタンス変数の隠蔽
 10.2.3 アクセサーメソッド
 10.2.4 プロパティ
10.3 継承
 10.3.1 継承の基本
 10.3.2 メソッドのオーバーライド
 10.3.3 superによる基底クラスの参照
 10.3.4 多重継承とメソッドの検索順序
 10.3.5 委譲
 10.3.6 ミックスイン
10.4 ポリモーフィズム
 10.4.1 ポリモーフィズムの基本
 10.4.2 抽象メソッド
 10.4.3 isinstance関数
この章の理解度チェック

第11章 オブジェクト指向構文【応用】
11.1 例外処理
 11.1.1 例外クラスの型
 11.1.2 終了処理を定義する――finally節
 11.1.3 例外をスローする――raise命令
 11.1.4 独自の例外クラス
11.2 特殊メソッド
 11.2.1 オブジェクトの文字列表現を取得する
 11.2.2 オブジェクト同士が等しいかどうかを判定する
 11.2.3 オブジェクトのハッシュ値を取得する
 11.2.4 オブジェクトを四則演算する
 11.2.5 オブジェクト同士を比較する
 11.2.6 データ型を変換する
 11.2.7 オブジェクトの真偽を判定する
 11.2.8 アトリビュートの取得/設定の挙動をカスタマイズする
 11.2.9 ディスクリプター
 11.2.10 インスタンスを関数的に呼び出す
11.3 データクラス
 11.3.1 データクラスの基本
 11.3.2 フィールドのカスタマイズ
 11.3.3 イミュータブルなクラス
 11.3.4 hashableなクラスを生成する
 11.3.5 データクラスの予約関数
11.4 イテレーター
 11.4.1 自作クラスでイテレーターを実装する
 11.4.2 【例】素数を求めるイテレーター
 11.4.3 コンテナー型で利用できる特殊メソッド
11.5 メタクラス
 11.5.1 type関数とclass命令
 11.5.2 メタクラスの基本
 11.5.3 【例】シングルトンパターン
 11.5.4 クラスデコレーター
この章の理解度チェック

付録A「練習問題」「この章の理解度チェック」解答
コラム
Pythonをより深く学ぶための参考書籍/サイト
きれいなプログラム、書いていますか?――コーディング規約
Pythonプログラマーの心構え――The Zen of Python
複数のPythonが同居する場合の実行方法
外部ライブラリのインストール
モジュール/クラス/関数の特殊属性
よく見かけるエラーとその対処法

本ページへのリンクには、このロゴをご利用ください。


著作権情報個人情報保護について広告掲載についてRSSフィードについて
出版社の方々へ会社概要スタッフ紹介サイトマップ  
書籍/記事に関するご質問/お問い合わせは「WINGSお問い合わせフォーム」をご利用ください。
Copyright(c) 1998-2020,Yamada Yoshihiro.  All Right Reserved.