Home
 

Home > コンピュータ・一般書 > プログラミング・開発 > その他 > 入門 Python 3

入門 Python 3

・著者:Bill Lubanovic/斎藤 康毅/長尾 高弘978-4-87311-738-6
・定価:3,996 円(本体3,700 円+税)
・A5 608頁

・ISBN

・発売日


かごに入れる

※本体価格は変更される場合があります。
※通常2〜3日以内で発送いたします。

合計5000円(税別)以上のご注文の場合、配送料は無料となります。

実践を見据えた本格的な「Python入門書」!

 

Pythonが誕生して四半世紀。データサイエンスやウェブ開発、セキュリティなどさまざまな分野でPythonの人気が急上昇中です。プログラミング教育の現場でもCに代わってPythonの採用が増えてきています。本書は、プログラミングが初めてという人を対象に書かれた、Pythonの入門書です。前提とする知識は特にありません。プログラミングおよびPythonの基礎からウェブ、データベース、ネットワーク、並列処理といった応用まで、Pythonプログラミングをわかりやすく丁寧に説明します。

2015/11
★このような方におすすめ
Python初心者、プログラミング初学者、教職員、学生
主要目次

ページトップへ戻る
詳細目次
監訳者まえがき
まえがき

1章 Pyの味
    1.1 実世界でのPython
    1.2 Pythonと他言語の比較
    1.3 では、なぜPythonなのか
    1.4 Pythonを避けるべきとき
    1.5 Python 2 vs. Python 3
    1.6 Pythonのインストール
    1.7 Pythonの実行
        1.7.1 対話型インタープリタの使い方
        1.7.2 Pythonファイルの使い方
        1.7.3 次は何か
    1.8 Python公案
    1.9 復習課題

2章 Pyの成分:数値、文字列、変数
    2.1 変数、名前、オブジェクト
    2.2 数値
        2.2.1 整数
        2.2.2 優先順位
        2.2.3 基数
        2.2.4 型の変換
        2.2.5 intはどれくらい大きいのか
        2.2.6 浮動小数点数
        2.2.7 数学関数
    2.3 文字列
        2.3.1 クォートを使った作成
        2.3.2 str()を使った型変換
        2.3.3 \によるエスケープ
        2.3.4 +による連結
        2.3.5 *による繰り返し
        2.3.6 []による文字の抽出
        2.3.7 [ start:end:step ]によるスライス
        2.3.8 len()による長さの取得
        2.3.9 split()による分割
        2.3.10 join()による結合
        2.3.11 多彩な文字列操作
        2.3.12 大文字と小文字の区別、配置
        2.3.13 replace()による置換
        2.3.14 その他の文字列操作関数
    2.4 復習課題

3章 Pyの具:リスト、タプル、辞書、集合
    3.1 リストとタプル
    3.2 リスト
        3.2.1 []またはlist()による作成
        3.2.2 list()によるほかのデータ型からリストへの変換
        3.2.3 [offset]を使った要素の取り出し
        3.2.4 リストのリスト
        3.2.5 [offset]による要素の書き換え
        3.2.6 オフセットの範囲を指定したスライスによるサブシーケンスの取り出し
        3.2.7 append()による末尾への要素の追加
        3.2.8 extend()または+=を使ったリストの結合
        3.2.9 insert()によるオフセットを指定した要素の追加
        3.2.10 delによる指定したオフセットの要素の削除
        3.2.11 remove()による値に基づく要素の削除
        3.2.12 pop()でオフセットを指定して要素を取り出し、削除する方法
        3.2.13 index()により要素の値から要素のオフセットを知る方法
        3.2.14 inを使った値の有無のテスト
        3.2.15 count()を使った値の個数の計算
        3.2.16 join()による文字列への変換
        3.2.17 sort()による要素の並べ替え
        3.2.18 len()による長さの取得
        3.2.19 =による代入とcopy()によるコピー
    3.3 タプル
        3.3.1 ()を使ったタプルの作成
        3.3.2 タプルとリストの比較
    3.4 辞書
        3.4.1 {}による作成
        3.4.2 dict()を使った変換
        3.4.3 [key]による要素の追加、変更
        3.4.4 update()による辞書の結合
        3.4.5 delによる指定したキーを持つ要素の削除
        3.4.6 clear()によるすべての要素の削除
        3.4.7 inを使ったキーの有無のテスト
        3.4.8 [key]による要素の取得
        3.4.9 keys()によるすべてのキーの取得
        3.4.10 values()によるすべての値の取得
        3.4.11 items()によるすべてのキー/値ペアの取得
        3.4.12 =による代入とcopy()によるコピー
    3.5 集合
        3.5.1 set()による作成
        3.5.2 set()によるほかのデータ型から集合への変換
        3.5.3 inを使った値の有無のテスト
        3.5.4 組み合わせと演算
    3.6 データ構造の比較
    3.7 もっと大きいデータ構造
    3.8 復習課題

4章 Pyの皮:コード構造
    4.1 #によるコメント
    4.2 \による行の継続
    4.3 if、elif、elseによる比較
        4.3.1 Trueとは何か
    4.4 whileによる反復処理
        4.4.1 breakによるループ中止
        4.4.2 continueによる次のイテレーションの開始
        4.4.3 elseによるbreakのチェック
    4.5 forによる反復処理
        4.5.1 breakによる中止
        4.5.2 continueによる次のイテレーションの開始
        4.5.3 elseによるbreakのチェック
        4.5.4 zip()を使った複数のシーケンスの反復処理
        4.5.5 range()による数値シーケンスの生成
        4.5.6 その他のイテレータ
    4.6 内包表記
        4.6.1 リスト内包表記
        4.6.2 辞書包括表記
        4.6.3 集合内包表記
        4.6.4 ジェネレータ内包表記
    4.7 関数
        4.7.1 位置引数
        4.7.2 キーワード引数
        4.7.3 デフォルト引数値の指定
        4.7.4 *による位置引数のタプル化
        4.7.5 **によるキーワード引数の辞書化
        4.7.6 docstring
        4.7.7 一人前のオブジェクトとしての関数
        4.7.8 関数内関数
        4.7.9 クロージャ
        4.7.10 無名関数:ラムダ関数
    4.8 ジェネレータ
    4.9 デコレータ
    4.10 名前空間とスコープ
        4.10.1 名前のなかの_と__
    4.11 エラー処理とtry、except
    4.12 独自例外の作成
    4.13 復習課題

5章 Pyの化粧箱:モジュール、パッケージ、プログラム
    5.1 スタンドアローンプログラム
    5.2 コマンドライン引数
    5.3 モジュールとimport文
        5.3.1 モジュールのインポート
        5.3.2 別名によるモジュールのインポート
        5.3.3 必要なものだけをインポートする方法
        5.3.4 モジュールサーチパス
    5.4 パッケージ
    5.5 Python標準ライブラリ
        5.5.1 setdefault()とdefaultdict()による存在しないキーの処理
        5.5.2 Counter()による要素数の計算
        5.5.3 OrderedDict()によるキー順のソート
        5.5.4 スタック+キュー=デック
        5.5.5 itertoolsによるコード構造の反復処理
        5.5.6 pprint()によるきれいな表示
    5.6 バッテリー補充:ほかのPythonコードの入手方法
    5.7 復習課題

6章 オブジェクトとクラス
    6.1 オブジェクトとは何か
    6.2 classによるクラスの定義
    6.3 継承
    6.4 メソッドのオーバーライド
    6.5 メソッドの追加
    6.6 superによる親への支援要請
    6.7 selfの自己弁護
    6.8 プロパティによる属性値の取得、設定
    6.9 非公開属性のための名前のマングリング
    6.10 メソッドのタイプ
    6.11 ダックタイピング
    6.12 特殊メソッド
    6.13 コンポジション
    6.14 モジュールではなくクラスとオブジェクトを使うべきなのはいつか
        6.14.1 名前付きタプル
    6.15 復習課題

7章 プロのようにデータを操る
    7.1 文字列
        7.1.1 Unicode
        7.1.2 書式指定
        7.1.3 正規表現とのマッチング
    7.2 バイナリデータ
        7.2.1 バイトとバイト列
        7.2.2 structによるバイナリデータの変換
        7.2.3 その他のバイナリデータツール
        7.2.4 binasciiによるバイト/文字列の変換
        7.2.5 ビット演算子
    7.3 復習課題

8章 データの行き先
    8.1 ファイル入出力
        8.1.1 write()によるテキストファイルへの書き込み
        8.1.2 read()、readline()、readlines()によるテキストファイルの読み出し
        8.1.3 write()によるバイナリファイルの書き込み
        8.1.4 read()によるバイナリファイルの読み出し
        8.1.5 withによるファイルの自動的なクローズ
        8.1.6 seek()による位置の変更
    8.2 構造化されたテキストファイル
        8.2.1 CSV
        8.2.2 XML
        8.2.3 HTML
        8.2.4 JSON
        8.2.5 YAML
        8.2.6 セキュリティについての注意
        8.2.7 設定ファイル
        8.2.8 その他のデータ交換形式
        8.2.9 pickleによるシリアライズ
    8.3 構造化されたバイナリファイル
        8.3.1 スプレッドシート
        8.3.2 HDF5
    8.4 リレーショナルデータベース
        8.4.1 SQL
        8.4.2 DB-API
        8.4.3 SQLite
        8.4.4 MySQL
        8.4.5 PostgreSQL
        8.4.6 SQLAlchemy
    8.5 NoSQLデータストア
        8.5.1 dbmファミリ
        8.5.2 memcached
        8.5.3 Redis
        8.5.4 その他のNoSQL
    8.6 フルテキストデータベース
    8.7 復習課題

9章 ウェブを解きほぐす
    9.1 ウェブクライアント
        9.1.1 telnetによるテスト
        9.1.2 Pythonの標準ウェブライブラリ
        9.1.3 標準ライブラリを越えて
    9.2 ウェブサーバー
        9.2.1 Pythonによるもっとも単純なウェブサーバー
        9.2.2 WSGI
        9.2.3 フレームワーク
        9.2.4 Bottle
        9.2.5 Flask
        9.2.6 Python以外のウェブサーバー
        9.2.7 その他のフレームワーク
    9.3 ウェブサービスとオートメーション
        9.3.1 webbrowserモジュール
        9.3.2 Web APIとREST
        9.3.3 JSON
        9.3.4 クロールとスクレイピング
        9.3.5 BeautifulSoupによるHTMLのスクレイピング
    9.4 復習課題

10章 システム
    10.1 ファイル
        10.1.1 open()による作成
        10.1.2 exists()によるファイルが存在することのチェック
        10.1.3 isfile()によるファイルタイプのチェック
        10.1.4 copy()によるコピー
        10.1.5 rename()によるファイル名の変更
        10.1.6 link()、symlink()によるリンク作成
        10.1.7 chmod()によるパーミッションの変更
        10.1.8 chown()によるオーナーの変更
        10.1.9 abspath()によるパス名の取得
        10.1.10 realpath()によるシンボリックリンクパス名の取得
        10.1.11 remove()によるファイルの削除
    10.2 ディレクトリ
        10.2.1 mkdir()による作成
        10.2.2 rmdir()による削除
        10.2.3 listdir()による内容リストの作成
        10.2.4 chdir()によるカレントディレクトリの変更
        10.2.5 glob()によるパターンにマッチするファイルのリストの作成
    10.3 プログラムとプロセス
        10.3.1 subprocessによるプロセスの作成
        10.3.2 multiprocessingによるプロセスの作成
        10.3.3 terminate()によるプロセスの強制終了
    10.4 カレンダーとクロック
        10.4.1 datetimeモジュール
        10.4.2 timeモジュールの使い方
        10.4.3 日時の読み書き
        10.4.4 代替モジュール
    10.5 復習課題

11章 並行処理とネットワーク
    11.1 並行処理
        11.1.1 キュー
        11.1.2 プロセス
        11.1.3 スレッド
        11.1.4 グリーンスレッドとgevent
        11.1.5 twisted
        11.1.6 asyncio
        11.1.7 Redis
        11.1.8 キューを越えて
    11.2 ネットワーク
        11.2.1 パターン
        11.2.2 パブリッシュ/サブスクライブモデル
        11.2.3 TCP/IP
        11.2.4 ソケット
        11.2.5 ZeroMQ
        11.2.6 Scapy
        11.2.7 インターネットサービス
        11.2.8 ウェブサービスとAPI
        11.2.9 リモート処理
        11.2.10 ビッグデータとMapReduce
        11.2.11 クラウドでの処理
    11.3 復習課題

12章 パイソニスタになろう
    12.1 プログラミングについて
    12.2 Pythonコードを見つけてこよう
    12.3 パッケージのインストール
        12.3.1 pipの使い方
        12.3.2 パッケージマネージャの使い方
        12.3.3 ソースからのインストール
    12.4 IDE(統合開発環境)
        12.4.1 IDLE
        12.4.2 PyCharm
        12.4.3 IPython
    12.5 名前とドキュメント
    12.6 コードのテスト
        12.6.1 pylint、pyflakes、pep8によるチェック
        12.6.2 unittestによるテスト
        12.6.3 doctestによるテスト
        12.6.4 noseによるテスト
        12.6.5 その他のテストフレームワーク
        12.6.6 継続的インテグレーション
    12.7 Pythonコードのデバッグ
    12.8 pdbによるデバッグ
    12.9 エラーメッセージのロギング
    12.10 コードの最適化
        12.10.1 実行時間の計測
        12.10.2 アルゴリズムとデータ構造
        12.10.3 Cython、NumPy、Cエクステンション
        12.10.4 PyPy
    12.11 ソース管理
        12.11.1 Mercurial
        12.11.2 Git
    12.12 本書のサンプルのクローニング
    12.13 さらに学習を深めるために
        12.13.1 書籍
        12.13.2 ウェブサイト
        12.13.3 グループ
        12.13.4 カンファレンス
    12.14 これからのお楽しみ

付録A Pyアート
    A.1 2Dグラフィックス
        A.1.1 標準ライブラリ
        A.1.2 PILとPillow
        A.1.3 ImageMagick
    A.2 GUI(グラフィカル・ユーザー・インタフェース)
    A.3 3Dグラフィックスとアニメーション
    A.4 プロット、グラフ、ビジュアライゼーション
        A.4.1 matplotlib
        A.4.2 bokeh
    A.5 ゲーム
    A.6 サウンドと音楽

付録B ビジネス現場のPy
    B.1 Microsoft Officeスイート
    B.2 ビジネスタスクの遂行
    B.3 ビジネスデータの処理
        B.3.1 抽出、変換、ロード
        B.3.2 その他の情報源
    B.4 金融界でのPython
    B.5 ビジネスデータのセキュリティ
    B.6 マップ
        B.6.1 ファイル形式
        B.6.2 地図の描画
        B.6.3 アプリケーションとデータ

付録C 科学におけるPy
    C.1 標準ライブラリでの数学と統計
        C.1.1 math関数
        C.1.2 複素数の操作
        C.1.3 decimalによる正確な浮動小数点数計算
        C.1.4 fractionsによる有理数計算
        C.1.5 arrayによるパッキングされたシーケンス
        C.1.6 statisticsによる単純な統計
        C.1.7 行列の乗算
    C.2 Scientific Python
    C.3 NumPy
        C.3.1 array()による配列の作成
        C.3.2 arange()による配列の作成
        C.3.3 zeros()、ones()、random()による配列の作成
        C.3.4 reshape()による配列形状の変更
        C.3.5 []による要素の取得
        C.3.6 配列の数学演算
        C.3.7 線形代数
    C.4 SciPyライブラリ
    C.5 SciKitライブラリ
    C.6 IPythonライブラリ
        C.6.1 進化したインタープリタ
        C.6.2 IPythonノートブック
    C.7 Pandas
    C.8 Pythonと科学分野

付録D Python 3のインストール
    D.1 標準Pythonのインストール
        D.1.1 Mac OS X
        D.1.2 Windows
        D.1.3 Linux/Unix
    D.2 Anacondaのインストール
    D.3 pipとvirtualenvのインストールと使い方
    D.4 condaのインストールと使い方

付録E 復習課題の解答
    E.1 1章 Pyの味
    E.2 2章 Pyの成分:数値、文字列、変数
    E.3 3章 Pyの具:リスト、タプル、辞書、集合
    E.4 4章 Pyの皮:コード構造
    E.5 5章 Pyの化粧箱:モジュール、パッケージ、プログラム
    E.6 6章 オブジェクトとクラス
    E.7 7章 プロのようにデータを操る
    E.8 8章 データの行き先
    E.9 9章 ウェブを解きほぐす
    E.10 10章 システム
    E.11 11章 並行処理とネットワーク

付録F 早見表
    F.1 演算子の優先順位
    F.2 文字列メソッド
        F.2.1 大文字、小文字の操作
        F.2.2 サーチ
        F.2.3 書き換え
        F.2.4 整形
        F.2.5 文字列のタイプ
    F.3 stringモジュールの属性
    F.4 終わり

索引
ページトップへ戻る