【2023最新】「django」のおすすめ本!人気ランキング
この記事では、「django」のおすすめ本をランキング形式で紹介していきます。インターネット上の口コミや評判をベースに集計し独自のスコアでランク付けしています。
Amazonで詳しく見る
紹介文
PythonDjango超入門の改訂版です。Djangoのバージョン3に対応しました。また環境をCPython、開発ツールはVC Codeでの解説になります。Pythonの入門者でも、Webアプリ、サービスを作ってみたいと思っている人に向けた本です。本の内容どおり手順通り試していくとサンプルが作れます。試しながら学習することで、最初の1歩を踏み出せます。
第1章 Djangoを使ってみよう
1-1 PythonとDjangoを準備しよう
「パイソン」って、なに?
Djangoってなに?
Web開発に必要なものは?
Pythonを準備しよう
Pythonの動作を確認しよう
1-2 Pythonの開発環境を整えよう!
開発ツールは必要?
VS Codeを用意しよう
VS Codeを日本語化する
VS Codeを起動する
フォルダを開くと?
ターミナルについて
1-3 Djangoのプログラムを作ろう
Djangoをインストールする
Djangoプロジェクトを作る!
VS Codeでプロジェクトを開く
Djangoプロジェクトの中身を見よう
Webアプリケーションを実行しよう
この章のまとめ
第2章 ビューとテンプレート
2-1 Webページの基本を覚えよう
MVCってなに?
プロジェクトとアプリケーション
アプリケーションを作ろう
helloアプリケーションをチェック!
views.pyにページ表示を書く
views.pyで実行すること
urls.pyについて
アクセスしてみよう!
helloにurls.pyを作成する
hello/urls.pyのスクリプト
クエリーパラメーターを使おう
request.GETの働き
パラメーターがないときどうする?
スマートな値の送り方
パターンはいろいろ作れる!
2-2 テンプレートを利用しよう
テンプレートってなに?
アプリケーションの登録
テンプレートはどこに置く?
index.htmlを作成する
urlpatternsの修正
indexの修正
テンプレートに値を渡す
複数ページの移動
リンクのURLとurlpatterns
静的ファイルを利用する
Bootstrapを使おう
2-3 フォームで送信しよう
フォームを用意しよう
CSRF対策について
ビュー関数を作成する
Bootstrapでデザインしよう
Djangoのフォーム機能を使う
forms.pyを作る
Formクラスの書き方
ビュー関数を作る
HelloFormを表示する
フィールドをタグで整える
Bootstrapクラスを使うには?
HTMLタグか、Formクラスか?
ビュー関数をクラス化する
HelloViewクラスを作る
クラスか、関数か?
2-4 さまざまなフィールド
formsモジュールについて
さまざまな入力フィールド
日時に関するフィールド
チェックボックス
3択のNullBooleanField
プルダウンメニュー(チョイス)
ラジオボタン
選択リスト
複数項目の選択は?
この章のまとめ
第3章 モデルとデータベース
3-1 管理ツールでデータベースを作ろう
データベースってなに?
データベースの設定をしよう
他のデータベースを使う場合は?
データベースの構造について
テーブルを設計しよう
モデルを作成しよう
Friendモデルクラスの作成
マイグレーションしよう
マイグレーションファイルの中身って?
3-2 管理ツールを使おう
管理ユーザーを作成しよう
Friendを登録しよう
管理ツールにログインする
管理ツール画面について
Friendsテーブルを見てみる
利用者の管理ページ
利用者を追加してみる
本格開発に管理ツールは必須!
3-3 レコード取得の基本とManager
レコードを表示しよう
モデルの内容を表示する
モデルの表示を完成させよう
指定のIDのレコードだけ取り出す
ビュー関数を修正しよう
Managerクラスってなに?
モデルのリストを調べてみる
valuesメソッドについて
特定の項目だけ取り出す
リストとして取り出す
最初と最後、レコード数
QuerySetの表示をカスタマイズ!
3-4 CRUDを作ろう
CRUDってなに?
Createを作ろう
ModelFormを使う
Updateを作ろう
Deleteを作ろう
ジェネリックビューについて
Friendをジェネリックビューで表示する
CRUDより重要なものは?
3-5 検索をマスターしよう
検索とフィルター
あいまい検索ってなに?
大文字小文字を区別しない
数値の比較
○○歳以上○○歳以下はどうする?
AもBもどっちも検索したい!
リストを使って検索
この章のまとめ
第4章 データベースを使いこなそう
4-1 データベースを更に極める!
レコードの並べ替え
指定した範囲のレコードを取り出す
レコードを集計するには?
SQLを直接実行するには?
SQLクエリを実行しよう
SQLは非常手段?
4-2 バリデーションを使いこなそう
バリデーションってなに?
forms.Formのバリデーション
バリデーションをチェックする
CheckFormでバリデーションチェック
どんなバリデーションがあるの?
バリデーションを追加する
ModelFormでのバリデーションは?
チェックのタイミング
checkでFriendモデルを利用する
モデルのバリデーション設定は?
モデルで使えるバリデータ
バリデータ関数を作る
フォームとエラーメッセージを個別に表示
ModelFormはカスタマイズできる?
4-3 ページネーション
ページネーションってなに?
Paginatorクラスの使い方
Friendをページごとに表示する
ページの移動はどうする?
ページ移動リンクの仕組み
4-4 リレーションシップとForeignKey
テーブルの連携って?
リレーションシップの設定方法
メッセージの投稿システムを考える
Messageモデルを作ろう
マイグレーションしよう
admin.pyの修正
管理ツールでMessageを使おう
Messageページを作ろう
MessageFormを作る
message関数を作る
message.htmlテンプレートを書こう
indexに投稿メッセージを表示するには?
この章のまとめ
第5章 本格アプリケーション作りに挑戦!
5-1 ミニSNSを作ろう!
ミニSNSの開発に挑戦!
Snsアプリケーションを追加しよう
アプリケーションを設計する
データベースを設計する
モデルを作成しよう
マイグレーションしよう
admin.pyにsnsのテーブルを登録する
管理ツールでユーザー登録!
publicグループを用意する
5-2 スクリプトを作成しよう
フォームを作る
GroupCheckFormについて
GroupSelectFormについて
FriendsFormについて
PostFormについて
urls.pyの作成
views.pyの修正
index関数について
groupsビュー関数について
Friendの追加について
投稿とシェア投稿について
「いいね!」の処理
get_your_group_messageが最大のポイント!
5-3 テンプレートを作ろう
テンプレートのフォルダを用意する
layout.htmlを作る
index.htmlを作る
post.htmlを作る
share.htmlを作る
groups.htmlを作る
5-4 アプリケーションをテストしよう
テストってなに?
TestCaseクラスについて
テストの基本を覚えよう
値をチェックするためのメソッド
セットアップとティアダウン
データベースをテストする
データベースのテストを完成させる
ビューにアクセスしてテストしよう
SNSアプリケーションにアクセスする
これからさきはどうするの?
Addendum Python超入門!
A-1 Pythonの基本を覚えよう
Pythonの2つの動かし方
IDLEを実行しよう
スクリプトの書き方のポイント
値には種類がある!
計算しよう!
値のキャストについて
比較演算
変数ってなに?
A-2 制御構文を使おう
条件分岐「if」
繰り返し「while」
A-3 多数の値をまとめて扱う
たくさんの値を保管する「リスト」
リストも計算できる!
リストと繰り返し構文「for」
値を変更できない「タプル」
意外と使う「レンジ」
名前で値を管理する「辞書」
A-4 関数からクラスへ
決まった処理をいつでも実行!
「組み込み関数」ってなに?
関数の呼び出し方
スクリプトファイルを用意しよう
input関数で入力しよう
モジュールと関数
関数を作る
クラスってなに?
クラスはどう作るの?
クラスを作ってみよう
メソッドについて
クラスはインスタンスで利用する
初期化メソッドを利用しよう
名前付きの引数を使おう
継承は超便利!
クラスメソッドについて
Pythonの基本はこれでおしまい!
Amazonで詳しく見る
紹介文
大人気Pythonフレームワーク「Django(ジャンゴ)」の入門書の登場!
フルスタックエンジニア必携!
DjangoでWebアプリを開発しよう!
【本書の概要】
本書は、大人気フレームワーク「Django」によるWebアプリ開発手法を学べる書籍です。
具体的には、DjangoによるWebアプリの設計・作成の基本、動的機能の作成(フォーム作成)の基本、
認証処理の基本、データベースとの連携の基本(日記機能)、クラウドとの連携の基本(デプロイも含む)、
セキュリティの基本など一通り学ぶことができます。フルスタックエンジニア必携の1冊です。
【対象読者】
フルスタックエンジニア
【Djangoの対応バージョン】
Django2.2。
Django2.2はLTS(Long Term Support)という長期間サポート対象のバージョンです。
2022年4月までサポートが予定されており、安心して学習できます。
【Djangoとは(本書より抜粋)】
DjangoはPython用のフルスタックWebアプリフレームワークです。
多くのWebアプリにおいて必要となるメール送信やセキュリティなど、
多くの機能が標準で備わっています。
開発用の機能も充実しています。開発サーバーはDjangoに同梱されているため、
ローカルマシンで開発中のWebアプリをすぐに起動できます。
さらに、データベースのテーブル定義を記述しておけば自分でデータベースを操作するSQLを書くことなく、
コマンドを打つだけでデータベースに反映することもできます。
運用を支援する管理サイトも最初から備わっています。この管理サイトを使えば、
Web上からデータベースのデータを書き換えたり、
ユーザーの管理などを素早く行えます。
【著者】
大高隆(おおたか・りゅう)
京都大学大学院情報学研究科修了後に日本アイ・ビー・エム株式会社に入社。
同社にて10年間エンジニアとして従事し退社。
現在フリーのソフトウェアエンジニア兼投資家。
パッケージソフトやWebアプリなどの開発作業に日夜取り組んでいる。
Chapter 1 Webアプリを開発する前に
01 設計作業は簡素にする
02 既存ライブラリを積極的に活用する
03 できる限り機械化する
04 モチベーションを維持する
05 まとめ
Chapter 2 Webアプリを開発するには
01 Webアプリとは
02 Webアプリの処理の流れ
03 Webアプリの構築手順
04 Webアプリの構築手段
05 まとめ
Chapter 3 Djangoの概説
01 Djangoとは
02 Djangoの全体像
03 Djangoプロジェクトの構造
04 ルーティング
05 ビュー
06 フォーム
07 モデル
08 テンプレート
09 ユーティリティコマンド
10 まとめ
Chapter 4 Webアプリ開発前の準備
01 手書きスケッチでWebアプリをデザインする
02 Pythonをインストールする
03 Python仮想環境を作成する
04 Djangoをインストールする
05 PyCharmをインストールする
06 PostgreSQLをインストールし、データベース環境を構築する
07 バージョン管理システムを導入する
08 まとめ
Chapter 5 ページのDjangoアプリケーションを作成する
01 サンプルアプリの開発環境構成
02 Djangoプロジェクトを作成する
03 Djangoアプリケーションを作成する
04 PyCharm上のPython設定を変更する
05 言語とタイムゾーンを日本仕様に変更する
06 Djangoのデータベース設定をPostgreSQLに変更する
07 ロギングを設定する
08 ルーティングを設定する
09 ビューを作成する
10 テンプレートを作成する
11 開発サーバーを動かしてトップページを表示する
12 まとめ
Chapter 6 バージョン管理システムを構築する
01 リモートリポジトリを作成する
02 ローカルリポジトリを作成する
03 バージョン管理対象外ファイルを登録する
04 ローカルリポジトリにコミットする
05 Sourcetreeにリモートリポジトリを登録する
06 リモートリポジトリにプッシュする
07 まとめ
Chapter 7 トップページを作り込む
01 Bootstrapテンプレートをダウンロードする
02 静的ファイルが配置されている場所を設定する
03 各ページで共通利用するベーステンプレートを作る
04 トップページを作り変える
05 トップページの表示を確認する
06 まとめ
Chapter 8 問い合わせページのフォーム画面を作る
01 ルーティングを追加する
02 ビューを追加する
03 フォームのフィールドを定義する
04 テンプレートを編集する
05 独自スタイルを追加する
06 問い合わせページの表示を確認する
07 まとめ
Chapter 9 フォーム機能を作り上げる──メール送信
01 ビューにフォーム動作時の処理を記述する
02 メール送信処理を記述する
03 プロジェクト設定ファイルを分割する
04 メール処理で使うバックエンドを定義する
05 開発サーバー起動時のPyCharmの設定を変更する
06 メール送信を確認する
07 画面にメッセージが表示されるようにする
08 まとめ
Chapter 10 Djangoに認証機能を追加する
01 認証用アプリケーションを作成する
02 カスタムユーザーモデルを定義する
03 カスタムユーザーモデルを管理サイトに登録する
04 マイグレーションを行う
05 django-allauthをインストールする
06 プロジェクト設定ファイルを編集する
07 ルーティングを追加する
08 django-allauthのテンプレートを改変する
09 django-allauthのメール内容を改変する
10 認証ページへのリンクを貼る
11 django-allauth用のマイグレーションを行う
12 まとめ
Chapter 11 会員用機能を作る──データベースとの連携
01 メディアファイルを扱えるようにする
02 日記モデルを定義する
03 日記モデルを管理サイトに登録する
04 日記一覧表示機能を作る
05 日記一覧ページへの遷移を記述する
06 マイグレーションを行う
07 管理サイトから日記データを登録する
08 日記一覧ページにページネーションを付ける
09 日記詳細表示機能を作る
10 日記作成機能を作る
11 日記編集機能を作る
12 日記削除機能を作る
13 一般的方法とSeleniumを使ったテストを行う
14 ステータスコード403/404/500用ページを作る
15 データベースをバックアップするバッチを作る
16 まとめ
Chapter 12 Djangoとクラウドを連携して本番運用を行う
01 サンプルアプリの本番運用環境構成
02 AWSのアカウントを取得する
03 EC2インスタンスを作成する
04 Elastic IPを取得しインスタンスへ関連付ける
05 EC2インスタンスにSSH接続する
06 Amazon Linux 2の初期設定を行う
07 Python 3をインストールする
08 pip管理モジュールをインストールする
09 PostgreSQLをインストールして初期設定する
10 本番運用環境用Djangoプロジェクト設定ファイルを作成する
11 本番運用環境にDjangoソースコードを配置する
12 ログ配置ディレクトリを作成する
13 Amazon SESを利用可能にする
14 環境変数を設定する
15 静的ファイルを配信ディレクトリに配置する
16 マイグレーションを行う
17 Nginxのインストールと設定を行う
18 NginxとGunicornを起動する
19 バッチの定期実行を設定する
20 まとめ
Chapter 13 独自ドメイン化とセキュリティ対策
01 はじめに
02 ドメインプロバイダーでDNS設定を追加する
03 Djangoの「ALLOWED_HOSTS」設定を変更する
04 HTTPS化を行う
05 Django管理サイトのURLを変更する
06 Djangoのセキュリティチェックを行う
07 まとめ
Amazonで詳しく見る
紹介文
大人気フレームワーク「Django」でWeb開発を行うための実践的な開発手法が満載!
現場で役立つ実践的なノウハウを徹底解説
【Djangoとは】
Djangoは、Pythonで人気のあるフルスタックWebフレームワークです。
強力なテンプレートエンジンやO/Rマッパーに加え、ユーザー認証や国際化、管理画面など、Webアプリケーション開発で必要になるありとあらゆる機能を高い柔軟性で提供し、高速なWebアプリケーション開発を可能にします。
【本書のポイント】
本書は、業務で必ず役に立つ実践的なDjangoの解説書です。モデルやビュー、テンプレートといった基本コンポーネントの解説はもちろん、Djangoの実践的なテストテクニック、ユーザーモデルのカスタマイズ方法、認証処理のベストプラクティスなど、Web開発において必ず知っておくべき内容を幅広く取り上げました。
また実際に業務でWebアプリケーション開発に取り組む際には、これらの理解だけでは不十分なこともしばしばあります。
N+1問題の理解や対策方法、RDBのインデックスチューニングによるSQLの最適化、Web APIの実践的なページネーションの実装方法、CSRFやSQLインジェクションのような攻撃を防ぐためのセキュリティに関する知識など、高度かつ重要なトピックをDjangoのコントリビュート経験もある筆者が分かりやすく解説します。
【本書のゴール】
Djangoを使ったWebアプリケーション開発のベストプラクティスを把握し、業務に活かせる実践的な知識を身につけることを目指します。
【Djangoのバージョン】
Django 3.2 LTS対応(2024年4月までサポートされるバージョン)
【著者プロフィール】
芝田 将(しばた・まさし)
2017年株式会社サイバーエージェントに新卒入社後、ABEMA配信チームにて動画ストリーミングサーバーやトランスコーダーの開発を担当。
2019年より研究組織AI Labに異動し、機械学習モデルのハイパーパラメーター最適化ソフトウェアの研究開発に従事。
また2020年よりPython領域のDeveloper Expertsに選出される。OSS開発では、go-promptやkube-promptの開発者として知られる。
自動ハイパーパラメータ最適化フレームワークOptunaコミッター。Kubeflow/Katibレビュアー。Django, Gunicornコントリビューター。
共訳書『エキスパートPythonプログラミング改訂2版』(KADOKAWA、2018/2)。PyCon JP、Django Congress JPでの登壇経験多数。
NeurIPS 2020 Black-Box Optimization Challenge 世界5位入賞。
第1章 コードスニペット共有サイトの開発
1.1 Djangoプロジェクトのはじめかた
1.2 Djangoアプリケーションの作成とHello World
1.3 データベースとの連携
1.4 テンプレートエンジンによるHTMLの生成
1.5 テンプレートの部品化とCSSの適用
1.6 ユーザー認証をサクッと作る
1.7 宿題:コメント機能の実装
第2章 モデル定義とクエリ操作
2.1 Django ORMによるモデル定義
2.2 Django ORMによるクエリ操作
2.3 N+1問題の概要とその対策
2.4 インデックスによる効率的なデータの取り出し
2.5 マイグレーション
2.6 SQLインジェクションによる攻撃を理解する
第3章 ビュー
3.1 ビューの基本
3.2 再利用性の高いビューの開発
3.3 URLディスパッチャー
3.4 HttpRequestとHttpResponseを使いこなす
第4章 テンプレートエンジン
4.1 Djangoテンプレート言語の基本
4.2 テンプレートエンジンの設定
4.3 テンプレートタグとテンプレートフィルターを使いこなす
4.4 テンプレートのセキュリティ対策
第5章 フォーム
5.1 フォームの基本と全体像
5.2 バリデーション処理のカスタマイズ
5.3 HTMLフォーム生成時のカスタマイズ
5.4 ModelFormをいつ使うべきか、あるいはいつ使うべきではないか
5.5 クロスサイトリクエストフォージェリ(CSRF)による攻撃を理解する
第6章 テスト
6.1 テストの観点と考え方
6.2 実践的なテストテクニック
6.3 テストに関連するツールチェイン
6.4 まとめ:さらにテストを使いこなすために
第7章 認証・認可
7.1 認証処理の基本とカスタマイズ
7.2 ユーザーモデルのカスタマイズ
7.3 権限管理(認可)
7.4 パターン別認証処理実装ガイド
第8章 Web API開発
8.1 Django REST FrameworkによるJSON APIの実装
8.2 Web APIの設計プラクティス
第9章 ケース別レシピ集
9.1 静的ファイルの配信
9.2 メッセージフレームワーク
9.3 国際化(多言語対応)
9.4 Eメールの送信
9.5 GunicornやuWSGIを使用する
9.6 デーモン管理ツールの導入
9.7 NginxをHTTP Proxyとして導入する
9.8 キャッシュフレームワーク
9.9 設定ファイルの分割
9.10 Django管理サイトのカスタマイズ
9.11 管理コマンドの作成
Appendix 関連リソース
A.1 参考資料(書籍)
A.2 参考資料(Webサイト)
A.3 本書で紹介したサードパーティーライブラリ一覧
Amazonで詳しく見る
紹介文
個人の地域密着型アウトドアショップがデジタルマーケティングで業績を飛躍的にアップさせていくストーリーに乗せて、DMの基礎を…
個人の地域密着型アウトドアショップがデジタルマーケティングで業績を飛躍的にアップさせていくストーリーに乗せて、DMの基礎を学ぶ
Amazonで詳しく見る
紹介文
最新のPython、ライブラリおよびWindoes 11に対応した「Python1年生」の第2版の登場!
おかげさまで8万部突破!
読者の声に応えて
第2版の登場
【本書の概要】
Web開発やデータ分析などの分野で、ユーザー数が増えてきているPython。
最近では、Pythonに触れる方も多くなってきています。
本書はそうしたPython初心者の方に向けて、
ヤギ博士とフタバちゃんと一緒に
基本的なプログラムの作成から、面白い人工知能アプリの作成までを体験。
対話形式でプログラミングのしくみを学ぶことができます。
【対象読者】
Pythonについて何も知らないプログラミング超初心者
【本書のポイント】
・対話形式で解説し、イラストを交えながら、基礎知識を解説します。
・初めての方でも安心して学習できるよう基本文法もしっかり解説します。
・平易なサンプルを用意していますので、安心してプログラムを体験できます。
・2022年時点の最新の環境(Windows 11、Python 3.10など)に対応しています。
・エラーでつまづいた場合の対応方法を巻末に掲載しています。
【目次】
第1章 Pythonで何ができるの?
第2章 Pythonを触ってみよう
第3章 プログラムの基本を知ろう
第4章 アプリを作ってみよう
第5章 人工知能くんと遊んでみよう
【著者プロフィール】
森 巧尚(もり・よしなお)
『マイコンBASICマガジン』(電波新聞社)の時代からゲームを作り続けて現在はコンテンツ制作や執筆活動を行い関西学院大学非常勤講師、
関西学院高等部非常勤講師、成安造形大学非常勤講師、大阪芸術大学非常勤講師、プログラミングスクールコプリ講師などを行っている。
近著に、『Python1年生』『Python2年生 スクレイピングのしくみ』『Python2年生 データ分析のしくみ』『Python3年生 機械学習のしくみ』
『Java1年生』『動かして学ぶ!Vue.js開発入門』『Python自動化簡単レシピ』(いずれも翔泳社)、
『ゲーム作りで楽しく学ぶ Pythonのきほん』『楽しく学ぶ Unity2D超入門講座』『楽しく学ぶ Unity3D超入門講座』(いずれもマイナビ出版)などがある。
第1章 Pythonで何ができるの?
第2章 Pythonを触ってみよう
第3章 プログラムの基本を知ろう
第4章 アプリを作ってみよう
第5章 人工知能くんと遊んでみよう
Amazonで詳しく見る
紹介文
富士通ラーニングメディアがご提供する人気の研修コース「Python入門」をベースに書籍化しています。
Pythonは、データ解析やAI(人工知能)など様々な用途に使えることから、近年最も注目されているプログラミング言語です。富士通ラーニングメディアでは、Pythonに関する研修コースをラインナップとしてご提供しており、その中でも入門レベルに相当し、人気ベスト10にもよく入る「Python入門」の研修コースの内容を今回書籍化しました。
セールスポイント
●人気の研修コース「Python入門」を書籍化!
富士通ラーニングメディアがご提供する人気の研修コース「Python入門」をベースに書籍化しています。富士通ラーニングメディアの研修コースの特徴である「実習が多い」という特性を活かし、実習中心の作りにしています。
●手を動かしてプログラムをどんどん作る!
基本的な構文(文法)のプログラム実践例を、手を動かしてどんどん作成し、実行結果を確認します。1行でもわからないと理解できなくなるのがプログラムの常です。本書ではプログラム1行1行すべての動きを解説しています。
●挫折しやすいエラーを徹底フォロー!
プログラミングはエラーで挫折する傾向があります。本書では「よく起きるエラー」を随所で取り上げ、エラーの発生場所やその意味、対処方法(どこを修正したらよいか)を徹底解説しているので、学習を1人でも進めていけます。
●実習問題で実力がバッチリ身に付く!
実習問題を随所でご用意しており、プログラミングの実力を深められます。「実行結果例」をみて、同じように動作するプログラムの作成に取り組みます。解答例はプログラム1行1行すべての動きを解説しており、理解が深まります。
本書をご利用いただく前に
第1章 Pythonの概要を理解する
1-1 プログラムの概要
1-1-1 プログラムとは
1-1-2 プログラミング言語とは
1-1-3 プログラムを開発する流れ
1-2 Pythonの概要
1-2-1 Pythonとは
1-2-2 Pythonの様々な利用シーン
第2章 Pythonの環境構築を行う
2-1 環境構築
2-1-1 Pythonのインストール
2-1-2 開発ツール
2-2 Pythonの体験操作
2-2-1 メモ帳とコマンドプロンプトでPythonの
プログラムを実行する
2-2-2 対話モードでPythonのプログラムを実行
する
2-2-3 Visual Studio CodeでPythonのプログラ
ムを実行する
第3章 Pythonの基本文法を学ぶ
3-1 記述規約
3-1-1 Pythonのプログラムが読みやすい理由
3-1-2 Pythonの書き方
3-1-3 Pythonのプログラムを読みやすくするた
めの規則
3-2 データの保持
3-2-1 変数とは
3-2-2 関数の呼び出しとデータ入力
3-2-3 リストとは
3-2-4 多次元リストとは
3-2-5 タプルとは
3-2-6 辞書とは
3-2-7 集合とは
3-3 演算子
3-3-1 演算子とは
3-3-2 算術演算子
3-3-3 累計代入演算子
3-3-4 文字列を連結する演算子
3-3-5 比較演算子
3-3-6 論理演算子
3-4 制御構造
3-4-1 制御構造の種類
3-4-2 条件分岐
3-4-3 繰り返し ~for文~
3-4-4 繰り返し ~while文~
3-4-5 繰り返し処理の制御
3-5 関数
3-5-1 関数とは
3-5-2 関数の定義
3-6 例外処理
3-6-1 例外処理とは
3-6-2 例外処理の実装
第4章 外部プログラムの呼び出し方を学ぶ
4-1 ライブラリ
4-1-1 ライブラリとは
4-1-2 ライブラリの管理ツール
4-2 モジュールの関数の呼び出し
4-2-1 モジュールの関数の呼び出し方法
4-2-2 標準ライブラリのモジュールの利用例
4-2-3 外部ライブラリのモジュールの利用例
第5章 ファイルの入出力を学ぶ
5-1 アプリケーションとやり取りする
データの形式
5-1-1 データの入出力
5-1-2 JSON
5-1-3 XML
5-1-4 CSV
5-2 ファイルの読み書き
5-2-1 テキストファイルの読み込み
5-2-2 テキストファイルの書き込み
5-2-3 JSON形式のファイルの読み込み
5-2-4 JSON形式のファイルの書き込み
5-2-5 XML形式のファイルの読み込み
5-2-6 XML形式のファイルの書き込み
5-2-7 CSV形式のファイルの読み込み
5-2-8 CSV形式のファイルの書き込み
第6章 一歩進んだプログラムに挑戦する
6-1 オブジェクト指向プログラミング
6-1-1 オブジェクトとクラス
6-1-2 クラスの作成
6-1-3 オブジェクトの作成
6-1-4 継承
6-1-5 アクセス制御
6-2 PythonによるExcelの操作
6-2-1 Excelの操作のための外部ライブラリ
6-2-2 Excelシートのセルから値の読み込み
6-2-3 Excelシートのセルへの値の書き込み
付録
付録A よく起きるエラーの一覧
付録B 研修コースのご紹介
索引
Amazonで詳しく見る
紹介文
フルスタックエンジニア必見!Python Django入門書の第2版 登場!
Django3.2対応(LTS)
DjangoによるWebアプリ開発手法を丁寧に解説!
【本書の概要】
本書は、大人気フレームワーク「Django」によるWebアプリ開発手法を解説した書籍です。
具体的には、DjangoによるWebアプリの設計・作成の基本、動的機能の作成(フォーム作成)の基本、
認証処理の基本、データベースとの連携の基本(日記機能)、クラウドとの連携の基本(デプロイも含む)、
セキュリティの基本など一通り学ぶことができます。
フルスタックエンジニア必携の1冊です。
【対象読者】
Pythonの基礎知識のあるフルスタックエンジニア
【Djangoの対応バージョン】
Django3.2。
Django3.2はLTS(Long Term Support)という長期間サポート対象のバージョン。
2024年4月までセキュリティサポートが予定されており、安心して学習できます。
【Djangoとは(本書より抜粋)】
DjangoはPython用のフルスタックWebアプリフレームワークです。
多くのWebアプリにおいて必要となるメール送信やセキュリティなど、
多くの機能が標準で備わっています。
開発用の機能も充実しています。開発サーバーはDjangoに同梱されているため、
ローカルマシンで開発中のWebアプリをすぐに起動できます。
さらに、データベースのテーブル定義を記述しておけば自分でデータベースを操作するSQLを書くことなく、
コマンドを打つだけでデータベースに反映することもできます。
運用を支援する管理サイトも最初から備わっています。この管理サイトを使えば、
Web上からデータベースのデータを書き換えたり、
ユーザーの管理などを素早く行えます。
【著者】
大高隆(おおたか・りゅう)
京都大学大学院情報学研究科修了後に日本アイ・ビー・エム株式会社に入社。
同社にて10年間エンジニアとして従事し退社。
現在フリーのソフトウェアエンジニア兼投資家。
パッケージソフトやWebアプリなどの開発作業に日夜取り組んでいる。
Chapter 1 Webアプリを開発する前に
01 設計作業は簡素にする
02 既存ライブラリを積極的に活用する
03 できる限り機械化する
04 モチベーションを維持する
05 まとめ
Chapter 2 Webアプリを開発するには
01 Webアプリとは
02 Webアプリの処理の流れ
03 Webアプリの構築手順
04 Webアプリの構築手段
05 まとめ
Chapter 3 Djangoの概説
01 Djangoとは
02 Djangoの全体像
03 Djangoプロジェクトの構造
04 ルーティング
05 ビュー
06 フォーム
07 モデル
08 テンプレート
09 ユーティリティコマンド
10 まとめ
Chapter 4 Webアプリ開発前の準備
01 手書きスケッチでWebアプリをデザインする
02 Pythonをインストールする
03 Python仮想環境を作成する
04 Djangoをインストールする
05 PyCharmをインストールする
06 PostgreSQLをインストールし、データベース環境を構築する
07 バージョン管理システムを導入する
08 まとめ
Chapter 5 単一ページのDjangoアプリケーションを作成する
01 サンプルアプリの開発環境構成
02 Djangoプロジェクトを作成する
03 Djangoアプリケーションを作成する
04 PyCharm上のPython設定を変更する
05 言語とタイムゾーンを日本仕様に変更する
06 Djangoのデータベース設定をPostgreSQLに変更する
07 ロギングを設定する
08 ルーティングを設定する
09 ビューを作成する
10 テンプレートを作成するi
11 開発サーバーを動かしてトップページを表示する
12 まとめ
Chapter 6 バージョン管理システムを構築する
01 リモートリポジトリを作成する
02 ローカルリポジトリを作成する
03 バージョン管理対象外ファイルを登録する
04 ローカルリポジトリにコミットする
05 Sourcetreeにリモートリポジトリを登録する
06 リモートリポジトリにプッシュする
07 まとめ
Chapter 7 トップページを作り込む
01 Bootstrapテンプレートをダウンロードする
02 静的ファイルが配置されている場所を設定する
03 各ページで共通利用するベーステンプレートを作る
04 トップページを作り変える
05 トップページの表示を確認する
06 まとめ
Chapter 8 問い合わせページのフォーム画面を作る
01 ルーティングを追加する
02 ビューを追加する
03 フォームのフィールドを定義する
04 テンプレートを編集する
05 独自スタイルを追加する
06 問い合わせページの表示を確認する
07 まとめ
Chapter 9 フォーム機能を作り上げる──メール送信
01 ビューにフォーム動作時の処理を記述する
02 メール送信処理を記述する
03 プロジェクト設定ファイルを分割する
04 メール処理で使うバックエンドを定義する
05 開発サーバー起動時のPyCharmの設定を変更する
06 メール送信を確認する
07 画面にメッセージが表示されるようにする
08 まとめ
Chapter 10 Djangoに認証機能を追加する
01 認証用アプリケーションを作成する
02 カスタムユーザーモデルを定義する
03 カスタムユーザーモデルを管理サイトに登録する
04 マイグレーションを行う
05 django-allauthをインストールする
06 プロジェクト設定ファイルを編集する
07 ルーティングを追加する
08 django-allauthのテンプレートを改変する
09 django-allauthのメール内容を改変する
10 認証ページへのリンクを貼る
11 django-allauth用のマイグレーションを行う
12 まとめ
Chapter 11 会員用機能を作る──データベースとの連携
01 メディアファイルを扱えるようにする
02 日記モデルを定義する
03 日記モデルを管理サイトに登録する
04 日記一覧表示機能を作る
05 日記一覧ページへの遷移を記述する
06 マイグレーションを行う
07 管理サイトから日記データを登録する
08 日記一覧ページにページネーションを付ける
09 日記詳細表示機能を作る
10 日記作成機能を作る
11 日記編集機能を作る
12 日記削除機能を作る
13 一般的方法とSeleniumを使ったテストを行う
14 ステータスコード403/404/500用ページを作る
15 データベースをバックアップするバッチを作る
16 まとめ
Chapter 12 Djangoとクラウドを連携して本番運用を行う
01 サンプルアプリの本番運用環境構成
02 AWSのアカウントを取得する
03 EC2インスタンスを作成する
04 Elastic IPを取得しインスタンスへ関連付ける
05 EC2インスタンスにSSH接続する
06 Amazon Linux 2の初期設定を行う
07 Python 3をインストールする
08 pip管理モジュールをインストールする
09 PostgreSQLをインストールして初期設定をする
10 本番運用環境用Djangoプロジェクト設定ファイルを作成する
11 本番運用環境にDjangoソースコードを配置する
12 ログ配置ディレクトリを作成する
13 Amazon SESを利用可能にする
14 環境変数を設定する
15 静的ファイルを配信ディレクトリに配置する
16 マイグレーションを行う
17 Nginxのインストールと設定を行う
18 NginxとGunicornを起動する
19 バッチの定期実行を設定する
20 まとめ
Chapter 13 独自ドメイン化とセキュリティ対策
01 はじめに 02 ドメインプロバイダーでDNS設定を追加する
03 Djangoの「ALLOWED_HOSTS」設定を変更する
04 HTTPS化を行う
05 Django管理サイトのURLを変更する
06 Djangoのセキュリティチェックを行う
07 まとめ
Amazonで詳しく見る
紹介文
Python(パイソン)は初心者が比較的修得しやすく、AI(人工知能)やパターン認識などの先端技術に活用されている優れたプログラミング言語です。
本書では、初心者を対象に、Pythonを使ったプログラミングの勘所をやさしく解説しました。
例題に取り組むことで、プログラミングとはどういうものかを理解し、プログラミング的思考を身につけてもらうことを目的に執筆しました。
読者の皆さんが、楽しみながらPythonの素晴らしさやプログラミングの醍醐味を感じていただけたら、著者として望外の喜びです。
Amazonで詳しく見る
紹介文
「Djangoに興味があるけど、何から手を付ければ良いかわからない…」
「以前、Djangoの学習に挫折してしまったけど、やっぱり理解したい…」
といった方に、本書ではフレームワーク、Djangoの仕組みを理解でき、アプリ作成を通して理解を深められるよう説明しています。本書で作成するアプリは「ブログアプリケーション」「レビューアプリケーション」。作成したアプリを公開する方法についても解説しています。
第1章 Django(フレームワーク)のイメージを掴もう
第2章 開発環境の構築
第3章 Djangoの基本的な機能を理解しよう!
第4章 ブログアプリケーションを作成しよう!
第5章 レビューアプリケーションを作成しよう!
第6章 パスワード変更とメール送信の実装をしよう!
第7章 サイトを公開しよう!
Amazonで詳しく見る
紹介文
「Djangoに興味があるけど、何から手を付ければ良いかわからない」「一度、Djangoの学習に挫折してしまった」そんな方におすすめします! 本書は、Pythonフレームワーク「Django」の仕組みや使い方を実際に簡易なアプリケーションを作りながら学ぶ入門書です。難しい解説は排除して実際にアプリを作りながら学ぶので、初心者でも最後まで学べます。アプリ公開についても解説しました。 Django 3.2 LTS対応。
「Djangoに興味があるけど、何から手を付ければよいかわからない」「Djangoの学習に挫折してしまったが、やっぱり理解したい」といった方に、アプリケーションの作成を通して理解が深められるよう説明しています。
第1章 Django(フレームワーク)のイメージを掴もう
1-1 フレームワークって何?
フレームワークのイメージとは
フレームワークとは、家にシステムキッチンを導入するようなもの
Djangoに備わっている機能でフレームワークをイメージする
1-2 Djangoのイメージを掴む
Djangoはウェブフレームワークである
ウェブサイト(ウェブサーバー)の仕組み
イメージでフレームワークを理解する
Djangoで作成されたサイトでウェブフレームワークの力を確認しよう
第2章 開発環境の構築
2-1 Macの場合の開発環境構築
Pythonがインストールされているかを確認する
Pythonのインストール
2-2 Windowsの場合のPythonのインストール
Windows Subsystem for Linuxの有効化
Windows Subsystem for Linuxのインストール
仮想マシンの有効化
Linuxの更新プログラムのダウンロード・インストール
WSLの有効化
WSLのバージョンの選択
Linuxディストリビューション(Ubuntu)のインストール
Visual Studio Codeのインストール
2-3 仮想環境の構築
仮想環境とは?
仮想環境の作成
2-4 コードフォーマッターのインストール(任意)
コードを自動的に整形しよう
第3章 Djangoの基本的な機能を理解しよう!
3-1 本書で作成するもの?成果物の確認
最終的な成果物を確認しよう
3-2 プロジェクトを始める
仮想環境の構築と、Djangoのインストール
startprojectコマンドでプロジェクトを開始しよう
startprojectコマンドとは?
3-3 startprojectコマンドで作成されたファイルの中身
作成されたファイルの中身を確認する
3-4 manage.pyファイルでDjangoの便利な機能を体感する
1行のコマンドでウェブサーバーを立ち上げよう
3-5 requestを受け取り次の指示を出す(urls.py)
urls.pyファイルの中身を理解する
urls.pyファイルにurlpatternを追加する
3-6 Djangoでやっていること(オブジェクトの受け渡し)
Djangoはobjectを受け渡している
3-7 呼び出す中身の整理をする(views.pyファイル)
views.pyファイルの実装をしよう
サーバーを立ち上げて確認する
3-8 class-based viewとfunction-based view
class-based viewとfunction-based viewの違いを理解する
イメージでclass-based viewとfunction-based viewを理解する
3-9 class-based viewで実装をする
urls.pyの設定
views.pyファイルの実装(継承とtemplate_name)
BASE_DIR
テンプレートファイル(hello.htmlファイル)の作成とブラウザでの確認
3-10 プロジェクトとアプリについて
プロジェクトとアプリの違いをイメージで理解する
アプリを作成する
アプリ作成後の初期設定
startappコマンドで作成されたファイルの中身
urls.pyファイルの設定
第4章 本棚アプリケーションの作成①(CRUDの理解)
4-1 本棚アプリケーションを作ろう
成果物を確認する
4-2 初期設定
仮想環境の構築と、Djangoのインストール
プロジェクトとアプリのベースを作る
4-3 model(データベース)について
modelとは
具体例を使ってmodelを理解する
makemigrations(データを整理する設計図を作成するコマンド)
migrateコマンド
管理画面でユーザーテーブルを確認する
4-4 CRUDについて
ウェブフレームワークのイメージを固めよう
4-5 一覧画面(ListView)
本の一覧を作成しよう
urls.pyファイルの作成
views.pyファイルの作成
models.pyファイルの作成
Djangoで準備されているフィールド
htmlファイル(テンプレート)の作成
Djangoで使われるテンプレートについて
4-6 詳細画面(DetailViewの作成)
本の詳細ページを作成しよう
urls.pyファイルとviews.pyファイル
エラーを修正する
primary keyが設定されている項目を確認する
idを確認する方法
カテゴリの表示を確認する
4-7 Bootstrapで見た目を整えよう
Bootstrapとは
Bootstrapの使い方
レイアウトを調整していく
4-8 base.htmlファイルの作成
同じレイアウトを使いまわす
テンプレートの継承のイメージ
4-9 CreateViewでブラウザ上からデータを作成しよう
データをブラウザ上で作れるようにしよう
CreateViewで必要な設定
fieldsの追加
4-10 DeleteViewを作成してブラウザ上でデータを削除できるようにしよう
データを削除するための画面を作成する
4-11 UpdateViewを作成してブラウザ上でデータを編集できるようにしよう
データを更新する仕組みを作っていく
4-12 リンクの設定
ブラウザ上でページを遷移させていく
4-13 レイアウト等の調整
見た目を整えていく
第5章 本棚アプリケーションの作成②(Djangoの機能のさらなる理解)
5-1 成果物の確認
最終的な成果物を確認しよう
5-2 トップページの作成
はじめに
renderについて
ターミナルに表示させる
5-3 index_viewの実装
function-based viewの理解を深めよう
5-4 ログイン機能の追加
ログイン機能の実装
5-5 ログアウト機能の実装
ログアウトの実装
ログアウトのリンクの追加(user.is_autenticated)の実装
renderとredirectの違いを理解する
5-6 会員登録機能の実装
会員登録機能の実装
今までの実装の整理
会員登録の実装
GETとPOST
ユーザー登録ができているか確認する
5-7 レビュー機能の追加
完成物のイメージの共有
urlpatternsとviewの作成
異なるモデルからデータを取得する(get_context_data)
エラー(IntegrityError)対応をする
5-8 画像の表示
対象の書籍の画像を表示させる
画像ファイルを保存する場所を指定する
画像とURLを結びつける
5-9 CSSの設定
画像の設定と同じようなイメージでCSSを設定する
STATIC_ROOTの設定
5-10 ログイン状態の判定をする
ログイン状態で操作・表示できる範囲を変更する
ログインしていなければデータを見れないようにする実装
5-11 自分で投稿したデータしか編集・削除できないようにする
データの編集・削除に制約をかける
5-12 トップページの修正(データを並べ替える)
新着順、ランキング順で並べ替えを行う
レビューの平均点順に並べ替える
フィルターの適用
5-13 書籍の詳細にレビューを追加する
書籍の個別のページにレビューを追加しよう
5-14 ページネーションの実装
ページネーションを追加する
function-based viewにおけるページネーションの実装
class-based viewにおけるページネーションの実装
第6章 サイトを公開しよう!
6-1 アプリケーションを公開する前に
デプロイの前提
6-2 GitHubのアカウント作成
作成したコードを、外部サーバーで扱えるようにする
GitHubでアカウントを作成する
Gitのダウンロード
6-3 Herokuアカウントの作成
デプロイを簡単に行うため、Herokuを使って実装を進めよう
アプリの作成
6-4 デプロイのための設定
環境変数の設定
Python-dotenvのインストール
staticファイルの扱い
アプリケーションサーバーのインストール
Procfileの作成
requirements.txtファイルの作成
DEBUGとALLOWED_HOSTSの設定
デプロイをする
資料
最終版のソースコード
プロジェクト全体に関するコード
アカウント(ログイン等)に関するコード
bookアプリケーションに関するコード
コラム目次
Djangoの設計思想
MVCの考え方について
WSLにはバージョン1とバージョン2がある
Pythonを実行する際のコマンド、pythonとpython3について
シングルクォーテーションとダブルクォーテーションについて
ターミナル上でのコマンド実行について
サーバーとIPアドレス
views.pyファイルとview
関数とメソッドについて
アプリケーションという言葉の解釈について
アプリごとのmakemigrationsコマンドの実行
object_listを違う名前に変更する方法
renderってそもそもどんな意味?
デプロイ時の画像の取扱いについて
Amazonで詳しく見る
紹介文
プログラミング初心者向けPython入門書。5年ぶりの改訂版でPython3.9.0に対応。新機能追加でボリュームアップ。
実践を見据えた本格的な入門書の改訂版!
プログラミング初心者を対象としたPythonの総括的な入門書で、前提知識がなくても取り組むことができます。プログラミングとPythonの基礎から、データベース処理、Webプログラミング、ネットワークプログラミング、初歩の並列処理といった応用までわかりやすく丁寧に解説します。「入門Python 3」の5年ぶりの改訂版でPython3.9.0に対応、f文字列などの新機能が追加され大幅にボリュームアップしています。
プログラミング初心者向けPython入門書。5年ぶりの改訂版でPython3.9.0に対応。新機能追加でボリュームアップ。
Amazonで詳しく見る
紹介文
Webアプリ開発用フレームワークDjango(ジャンゴ)でアプリを開発するための書籍です。基礎から実践まで一人で学べます。
本書はWebアプリ開発用フレームワークDjango(ジャンゴ)でWebアプリを開発するための書籍です。ブログアプリと会員制写真投稿アプリの作成を通じで、Djangoの基礎から実践まで一人で学べる内容となっています。
PythonでWebアプリを開発する際に必須な機能を備えたDjangoを身に付けることで、データベースや通信に関する知識がなくても、高機能なサイトを作ることが可能です。
Djangoライブラリを使ってWebアプリ開発を学びます。Pythonでサーバー上で動作するWebアプリの作成をすることに興味がある人を対象とした、基本から実践的なテクニックを身に付けるための解説書です。
第1章 Djangoの使い方を知っておこう
1.1 Djangoは何のためのものなのか知っておこう
Webアプリってそもそも何?
アプリケーションサーバーにはどんなソフトウェアが搭載される?
ところでDjangoの中身って何?
1.2 Djangoの使い方を知っておこう
MTVのモデル、テンプレート、ビュー
ルーティング
ビュー
モデル
テンプレート
第2章 Djangoで開発するための準備をしよう
2.1 Djangoで開発するための準備をしよう
Anacondaとは?
Anacondaをインストールしよう
Anaconda Navigatorを起動して仮想環境を作ろう
2.2 開発ツールSpyderをインストールしよう
Spyderを仮想環境にインストールする
2.3 「Django」をインストールしよう
「CONDA-FORGE」がチャネルに登録されているとSpyderのインストール画面が表示されない場合がある
2.4 Pythonプログラミングのポイント
「シーケンス」というデータ
要素の値を変更できないタプル
キーと値のペアでデータを管理する辞書(dict)
関数
処理結果を返す関数
クラス
Djangoのバージョンの確認方法
第3章 プロジェクトを作成してWebアプリのトップページを表示しよう
3.1 Djangoで開発するためのプロジェクトを作成する
Webアプリを開発するための「プロジェクト」を作成しよう(startprojectコマンド)
3.2 プロジェクトに作成されたファイルの中身を見てみよう
プロジェクトに作成されたモジュールを見ていこう
3.3 プロジェクトに作成されたmanage.pyで実行されるコマンド
manage.pyのコマンドの実行方法
makemigrationsコマンド
createsuperuserコマンド
3.4 Webサーバーを立ち上げてデフォルトページを表示してみよう
runserverコマンドを実行してWebサーバーを起動しよう
Djangoのデフォルトページを表示してみよう
ローカルマシンのIPアドレス「127.0.0.1」
ポート番号の「8000」
ドメインネームとIPアドレス
第4章 Bootstrapでスタイリッシュなトップページを作ろう
4.1 Webアプリのひな形を作成して初期設定を行う(モジュールの作成)
Webアプリの基盤を作成する(startappコマンド)
初期設定をしよう
4.2 トップページが表示されるようにしよう(ルーティングの設定)
Djangoがリクエストを処理する方法
プロジェクトのURLconfにURLパターンを追加しよう
アプリケーションの名前空間とインスタンスの名前空間
blogappのURLパターンを設定しよう(blogappのURLconf)
開発用サーバーを起動して状態を確認してみよう
4.3 ビューを作成してトップページを表示してみよう
トップページを表示する司令塔を作ろう(IndexViewクラス)
開発用サーバーを起動して状態を確認してみよう
トップページのテンプレートを作ろう(HTMLドキュメントの作成)
開発用サーバーを起動してトップページを表示してみよう
関数ベースビューを使う
4.4 Bootstrapでスタイリッシュなデザインのトップページを作ろう
Bootstrapはどうやって使うの?
Start Bootstrapから「Clean Blog」をダウンロードしよう
「Clean Blog」のindex.htmlを既存のindex.htmlと入れ替えよう
クラスベースビューと関数ベースビュー
「Clean Blog」のCSS、JavaScript、イメージをblogアプリに移植しよう
ページのタイトルやリンク先などを独自のものに設定しよう
トップページがどうなったか確認してみよう
第5章 データベースと連携しよう(モデルについて)
5.1 「モデル」を作成してデータベースを操作しよう
データベースの設定を確認しよう
モデルを作成しよう
マイグレーションを行う
5.2 ブログの記事をデータベースに登録しよう
Django管理サイトにモデルBlogPostを登録しよう(admin.pyの編集)
Django管理サイトを使用するユーザーを登録しよう
(createsuperuserコマンド)
Django管理サイトにログインしよう
Django管理サイトの画面はこうなっている!
(ログイン直後のDjango管理サイト)
ブログの投稿記事をデータベースに登録しよう(レコードの追加)
5.3 トップページにブログ記事を一覧表示できるようにしよう
トップページのビューをリスト表示対応に変更しよう(ListView)
querysetとget_queryset()メソッド
Contextについて
トップページのビューを関数ベースビューにする
トップページに投稿記事の一覧を表示しよう
トップページを表示してみよう
5.4 詳細ページのルーティングを設定してビューを作成しよう
詳細ページを表示する仕組みを知っておこう
詳細ページのURLパターンを作成しよう(blogappのURLconf)
詳細ページのビューを作成しよう
(DetailViewを継承したBlogDetailクラス)
レコードの主キー
関数ベースビューを用いる場合の詳細ページの
URLパターンとビューの作成
5.5 1件の投稿記事を表示するページを作ろう (詳細ページの作成)
詳細ページのテンプレートを用意しよう(post.html)
詳細ページに投稿記事が表示されるようにしよう
詳細ページへのリンクを設定しよう
トップページの投稿記事一覧から詳細ページを表示してみよう
5.6 テンプレートで共通利用する基底テンプレートを作成しよう (ベーステンプレート)
ベーステンプレートって何?
ベーステンプレートを作成しよう(base.html)
トップページにベーステンプレートを適用しよう
詳細ページにベーステンプレートを適用しよう
ベーステンプレート適用後のトップページと詳細ページを見てみよう
5.7 ページネーション機能を付けよう
1ページに表示する投稿記事の件数を設定しよう(IndexView)
ページネーション機能を組み込んだテンプレートを作成しよう
トップページにページネーションを組み込もう
(テンプレートタグinclude)
トップページのページネーションを確認してみよう
関数ベースビューによる実装方法
5.8 カテゴリごとの一覧表示ページを作ろう
カテゴリの一覧ページを作ろう(作業の①)
カテゴリの一覧ページのURLパターンを作ろう(作業の②)
カテゴリの一覧ページのビューを作ろう(作業の③)
ベーステンプレートにカテゴリ一覧のリンクを設定しよう(作業の④)
カテゴリごとの一覧ページを表示してみよう
関数ベースビューでカテゴリごとの一覧ページを作る方法
第6章 メール送信用のページを作ろう
6.1 問い合わせページを作ろう
問い合わせページのURLパターンを作ろう(blogapp/urls.pyの編集)
問い合わせページのビューを作ろう(ContactViewの作成)
フォームのフィールドを定義しよう(フォームモジュールの作成)
問い合わせページのテンプレートを作ろう
ContactViewがレンダリングするときに参照されるContextの内容
<form>のmethod属性はデータの送信方法を指定する
ベーステンプレートに問い合わせページのリンクを設定しよう
メール送信のテストをしよう
関数ベースビューを用いる場合
6.2 送信メールサーバーを登録してメール送信を実現しよう
メール送信の流れ
Gmailのアカウントを作成して2段階認証を登録しよう
環境変数にメールサーバーの接続情報を登録しよう
フォームを送信してメールを受け取ってみよう
6.3 blogアプリの全体像
blogアプリのページ
第7章 「会員制フォトギャラリー」アプリの開発
7.1 photoアプリを作ろう
プロジェクトを作成し、「photo」アプリを構築しよう
photoアプリをプロジェクトに登録しよう
(環境変数INSTALLED_APPS)
使用言語とタイムゾーンを日本仕様に設定する
ベーステンプレートとトップページのテンプレートの外観
Bootstrapのサンプルをダウンロードしよう
各ページで共通利用するテンプレート、トップページのテンプレートを作ろう
ベーステンプレートを編集しよう(base.html)
タイトル用のテンプレートを編集しよう(photos_title.html)
投稿一覧テンプレートを編集しよう(photos_list.html)
トップページのテンプレートを編集しよう(index.html)
プロジェクトとアプリのURLconfを編集しよう
トップページのビューを作ろう(IndexViewの作成)
開発用サーバーを起動してトップページにアクセスしてみよう
7.2 認証用のaccountsアプリを作ろう
「accounts」アプリを構築して初期設定しよう
カスタムUserモデルを作ろう
マイグレーションを行う(makemigrationsとmigrate)
CustomUserモデルをDjango管理サイトに登録しよう
(accounts/admin.py)
accountsアプリの管理サイトのスーパーユーザーを登録しよう
サインアップの仕組みを作ろう
ログインページを作成しよう
is_authenticatedプロパティでログイン状態を確認する仕組み
パスワードリセットの仕組みを作ろう
7.3 データベースを用意しよう
Pillowを仮想環境にインストールしよう
データベースを操作する「モデル」を作成しよう
画像の保存先を設定しよう(MEDIA_URL)
マイグレーションしよう(makemigrationsとmigrate)
Django管理サイトにPhotoPostとCategoryを登録しよう(admin.pyの編集)
CategorysテーブルとPhoto postsテーブルにデータを
追加しよう
shellコマンドを使ってイメージのURLとパスを確認する
レコードを削除したときのイメージの取り扱い
django-cleanup
7.4 写真投稿ページを作ろう
フォームクラスを作成しよう(forms.PhotoPostFormクラス)
写真投稿ページのビューを作成してルーティングを設定しよう
写真投稿ページと投稿完了ページのテンプレートを作成しよう
投稿完了ページのビューを作成してルーティングを設定しよう
ナビゲーションボタンに写真投稿ページのリンクを追加しよう
写真投稿ページから投稿してみよう
7.5 トップページに投稿写真を一覧表示しよう
トップページのビューで投稿写真の全データを取得しよう(IndexView)
トップページのテンプレートの編集
ページネーションのテンプレートを作成してトップページに組み込もう
「media」フォルダーのURLパターンを設定しよう
ファビコンの設定
7.6 カテゴリページを用意しよう
投稿写真のボタンにカテゴリ一覧ページのリンクを埋め込む
カテゴリ一覧ページのURLパターンを作成しよう
カテゴリ一覧のビューCategoryViewを作成しよう
7.7 ユーザーの投稿一覧ページを用意しよう
投稿写真のユーザー名に、ユーザーの投稿一覧ページの
リンクを埋め込む
ユーザーの投稿一覧ページのURLパターンを作成しよう
ユーザーの投稿一覧のビューUserViewを作成しよう
7.8 投稿写真の詳細ページを用意しよう
投稿写真の一覧に表示される[View]ボタンに詳細ページのリンクを埋め込む
詳細ページのURLパターンを作成しよう
詳細ページのビューDetailViewを作成しよう
詳細ページのテンプレートを作成しよう
7.9 ログイン中のユーザーのための「マイページ」を用意しよう
ナビゲーションメニューにマイページのリンクを埋め込む
マイページのURLパターンを作成しよう
マイページのビューMypageViewを作成しよう
マイページのテンプレートを作成しよう
7.10 投稿写真の削除機能を用意しよう
ログイン中のユーザーの詳細ページに[削除する]ボタンを表示しよう
削除ページのURLパターンを作成しよう
削除ページのビューPhotoDeleteViewを作成しよう
削除ページのテンプレートを作成しよう
7.11 完成した会員制フォトギャラリーアプリ
会員制フォトギャラリーアプリの基本画面
第8章 Webアプリを公開しよう
8.1 Gitのインストール
GitHubのアカウントを作成する
リポジトリの作成
Gitのインストール
8.2 会員制フォトギャラリーアプリをGitHubにアップロードしよう
Gitの初期設定を行う
GitHubにアップロードする
8.3 PythonAnywhereのアカウントを取得してプロジェクトを作成しよう
PythonAnywhereのアカウントを取得しよう
Djangoを利用するプロジェクトを作成しよう
8.4 PythonAnywhereで「会員制フォトギャラリーアプリ」を公開しよう
GitHubの個人アクセストークンを作成する
PythonAnywhereのプロジェクトにGitHubの
リポジトリのクローンを作成
「settings.py」の内容を修正してWebで公開しよう
PythonAnywhereにおける静的ファイルの設定
Django 4.0リリースノート
Amazonで詳しく見る
紹介文
プログラミング初学者に向けた独習シリーズに『独習Python』が新登場。山田祥寛氏によるPython入門書の決定版。
手を動かしておぼえるPythonプログラミング
――独学に最適な“標準教科書”
プログラミングの初学者に向けた独習シリーズに『独習Python』が新登場。
プログラミング言語入門書の執筆で定評のある山田祥寛氏による、
Python入門書の決定版です。
独習シリーズの強みである、手を動かしておぼえる(書いて実行して結果を確認する)
特長を生かし、Pythonの基本的な言語仕様から、標準ライブラリ、ユーザー定義関数、
オブジェクト指向構文、モジュールまで、サンプルプログラムを例示しながら
詳細かつ丁寧に解説します。
プログラミングの基礎知識がない方でも、解説→例題(サンプル)→理解度チェック
という3つのステップで、Pythonでプログラミングを行う際に必要な知識・概念・機能を
体系的に習得できます。
プログラミングの入門者、これからPythonで開発を始めたい初学者から、再入門者、
学生・ホビープログラマまで、「一からPython言語を学びたい」「Pythonプログラミング
の基本をしっかり身につけたい」という方におすすめの一冊です。
第1章 イントロダクション
1.1 Pythonとは?
1.2 Pythonの歴史と現状
1.3 Pythonアプリを開発/実行するための基本環境
1.4 Pythonプログラミングの基本
1.5 Pythonの基本ルール
1.6 開発/学習の前に押さえておきたいテーマ
第2章 Pythonの基本
2.1 変数
2.2 データ型
第3章 演算子
3.1 算術演算子
3.2 代入演算子
3.3 比較演算子
3.4 論理演算子
3.5 ビット演算子
3.6 演算子の優先順位と結合則
第4章 制御構文
4.1 条件分岐
4.2 繰り返し処理
4.3 ループの制御
4.4 例外処理
第5章 標準ライブラリ[基本]
5.1 ライブラリの分類
5.2 文字列の操作
5.3 日付/時刻の操作
第6章 標準ライブラリ[コレクション]
6.1 シーケンス型
6.2 セット(集合)型
6.3 辞書(dict)型
第7章 標準ライブラリ[その他]
7.1 正規表現
7.2 ファイル操作
7.3 ファイルシステムの操作
7.4 HTTP経由でコンテンツを取得する
7.5 その他の機能
第8章 ユーザー定義関数
8.1 ユーザー定義関数の基本
8.2 変数の有効範囲(スコープ)
8.3 引数のさまざまな記法
8.4 関数呼び出しと戻り値
第9章 ユーザー定義関数[応用]
9.1 デコレーター
9.2 ジェネレーター
9.3 関数のモジュール化
9.4 非同期処理
9.5 ドキュメンテーション
第10章 オブジェクト指向構文
10.1 クラスの定義
10.2 カプセル化
10.3 継承
10.4 ポリモーフィズム
第11章 オブジェクト指向構文[応用]
11.1 例外処理
11.2 特殊メソッド
11.3 データクラス
11.4 イテレーター
11.5 メタクラス
付録A 「練習問題」「このの理解度チェック」解答
Amazonで詳しく見る
紹介文
Webアプリ開発用フレームワーク「Django(ジャンゴ)」を使ってPythonにより開発をするための本です。Djangoの基礎から実践的なものまで一人で学べます。ブログアプリと会員制写真投稿アプリの作成を通じて、Djangoによる開発テクニックを習得できます。
PythonライブラリであるDjangoが内部でなにをしているかわかるように、コード1行ずつに解説をつけ、全体的な処理の流れを確認しながらプログラムを進めることができます。
第1章 Djangoの使い方を知っておこう
第2章 Djangoで開発するための準備をしよう
第3章 プロジェクトを作成してWebアプリのトップページを表示しよう
第4章 Bootstrapでスタイリッシュなトップページを作ろう
第5章 データベースと連携しよう(モデルについて)
第6章 メール送信用のページを作ろう
第7章 会員制写真投稿サイトの開発
第8章 Webアプリを公開しよう
PythonのライブラリであるDjangoの活用書です。Pythonを使ってWebアプリを開発するためのプログラマーが基礎から実践的なテクニックを習得できるようになっています。
第1章 Djangoの使い方を知っておこう
第2章 Djangoで開発するための準備をしよう
第3章 プロジェクトを作成してWebアプリのトップページを表示しよう
第4章 Bootstrapでスタイリッシュなトップページを作ろう
第5章 データベースと連携しよう(モデルについて)
第6章 メール送信用のページを作ろう
第7章 会員制写真投稿サイトの開発
第8章 Webアプリを公開しよう
Amazonで詳しく見る
紹介文
本書は「Pythonだけ」を学ぶ本ではありません。Pythonを使ってプログラミングを紹介していますが、伝えたい内容はPythonに限らない「プログラミング全般」の知識です。
本書の著者、コーリー・アルソフ(Cory Althoff)は、「独学プログラマー」です。本書は、彼が独学で、ゼロからプログラミングを学んだ体験に基づいて書かれました。
プログラミングを独学で身に付けるために、著者がPythonを通して学んだエッセンスが書かれています。彼の独学プログラマーとしての学び方は、Amazon.comでの本書の評価を見るとわかるように、多くの人に支持されています。
――訳者あとがきより
第1部(Part1)
第1章 イントロダクション
第2章 さあ、はじめよう!
第3章 プログラミング入門
第4章 関数
第5章 コンテナ
第6章 文字列操作
第7章 ループ
第8章 モジュール
第9章 ファイル
第10章 知識を1つにまとめる
第11章 ハマったときの助け
第2部(Part2)
第12章 プログラミングパラダイム
第13章 オブジェクト指向プログラミングの4大要素
第14章 もっとオブジェクト指向プログラミング
第15章 知識を1つにまとめる
第3部(Part3)
第16章 Bash
第17章 正規表現
第18章 パッケージ管理
第19章 バージョン管理
第20章 知識を1つにまとめる
第4部(Part4)
第21章 データ構造
第22章 アルゴリズム
第5部(Part5)
第23章 プログラミングのベストプラクティス
第24章 プログラマーとしての最初の仕事
第25章 チームで働く
第26章 さらに学ぼう
第27章 次のステップ
第6部(Part6)
補章 より良いコードにするために
補章 継続して学ぶために
謝辞
訳者あとがき
索引
第1部(Part1)
第1章 イントロダクション
第2章 さあ、はじめよう!
第3章 プログラミング入門
第4章 関数
第5章 コンテナ
第6章 文字列操作
第7章 ループ
第8章 モジュール
第9章 ファイル
第10章 知識を1つにまとめる
第11章 ハマったときの助け
第2部(Part2)
第12章 プログラミングパラダイム
第13章 オブジェクト指向プログラミングの4大要素
第14章 もっとオブジェクト指向プログラミング
第15章 知識を1つにまとめる
第3部(Part3)
第16章 Bash
第17章 正規表現
第18章 パッケージ管理
第19章 バージョン管理
第20章 知識を1つにまとめる
第4部(Part4)
第21章 データ構造
第22章 アルゴリズム
第5部(Part5)
第23章 プログラミングのベストプラクティス
第24章 プログラマーとしての最初の仕事
第25章 チームで働く
第26章 さらに学ぼう
第27章 次のステップ
第6部(Part6)
補章 より良いコードにするために
補章 継続して学ぶために
謝辞
訳者あとがき
索引
Amazonで詳しく見る
紹介文
現役シリコンバレーエンジニアが教える「最強のプログラミング」講義!
10万人が選んだ人気No.1オンライン講座が
超わかりやすくパワーアップして書籍化!
海外企業でも通用する
一流のプログラミング技術が学べます!
★基礎から応用、一流コードスタイルまで1冊で学べる★
【応用編】ではニーズの高い実践的テクニックを中心に、
【入門編】では基礎から1歩ずつ、わかりやすく解説。
シリコンバレーのトップIT企業で活躍する著者が
世界標準のPythonスキルを一気に伝えます。
★海外でも通用する
一流のプログラミング技術が身につく★
知っていましたか?
アメリカのエンジニアの年収は日本の5~10倍です。
本書は「いつか海外で活躍したい」、
そんな夢の実現も強力にバックアップしてくれる
「海外進出の道しるべ」ともなる一冊です。
★10万人が選んだ人気No.1講座の書籍化★
本書のもととなったのは、オンライン講座Udemyで人気No.1を獲得したPython講座。
本格的な内容をわかりやすく伝える著者の講座は人気が高く、延べ20万人以上が受講しています(全講座計)。
本書はさらに内容を充実させてパワーアップ! 自分のペースでしっかり学べます。
独学の強い味方、「サンプルコード」の無料ダウンロードサービス付き。
★エンジニアの成功戦略も教えます★
コラムでは、エンジニアのキャリア戦略の立て方、成功するポイント、独学のコツなども紹介。
文系出身、TOEIC300点代からスタートした著者が渾身のエールを送ります。
★用語集、Pointなども充実★
コードを書くときの注意点、知っておきたい豆知識、
開発の現場で必要なことなどは
「Point」としてたっぷり掲載。
巻末には「用語集」も収録し、
徹底して実践的な内容となっています。
オンライン講座Udemyで9万人以上が選んだ人気No.1講座を完全書籍化! 超わかりやすくパワーアップして、基礎から応用、一流コードスタイルまで、世界で通用する「最強のプログラミング」が学べる!
学習を始める前に ~Pythonの環境設定
【入門編】
Lesson 1 Pythonの基本
1 変数の宣言と数値の計算をマスターしよう
2 文字列のさまざまな操作方法
Lesson 2 データ構造
1 複数データを並列にまとめる
2 変更できないリスト? いえ、タプルです
3 キーと値をセットで記憶する辞書型
4 データ同士の演算ができる集合
Lesson 3 制御フロー
1 読みやすいコードを書こう
2 条件に応じて処理を分岐させよう
3 繰り返し処理でデータを一気に処理しよう
Lesson 4 関数と例外処理
1 何度も実行する処理の関数を作ろう
2 関数の応用をマスターしよう
3 内包表記でリストをシンプルに生成しよう
4 変数の有効範囲
5 例外処理
Lesson 5 モジュールとパッケージ
1 作成したパッケージをインポートしよう
2 Pythonのライブラリの使い方
Lesson 6 オブジェクトとクラス
1 クラスとメソッド
2 クラスをもっと活用してみよう
Lesson 7 ファイル操作とシステム
1 ファイルの基本的な操作
2 ファイルの便利な活用方法
3 圧縮ファイルを扱おう
4 さらに高度なファイルに関する操作
【演習編】
Lesson 8 簡単なアプリケーションを作ってみよう
【応用編】
Lesson 9 コードスタイル
1 Pythonのコードスタイル
2 さらにくわしくPythonの書き方を知ろう
Lesson 10 コンフィグとロギング
1 設定ファイルのさまざまな形式
2 ロギングの基本と適切な書き方
3 ログをメールで送信しよう
4 実行環境を切り替えて使う
Lesson 11 Webとネットワーク
1 Webでよく使うファイル形式
2 Pythonで通信してみよう
3 PythonでWeb サーバーを作ろう
4 Webスクレイピングしてみよう
Lesson 12 並列化
1 マルチスレッドで並列化しよう
2 マルチプロセスによる並列化
3 高水準のインターフェースを使って並列化しよう
Lesson 13 データ解析
1 データ解析を始める前に
2 データをまとめて扱うnumpy
3 pandasで表形式のデータを扱う
4 matplotlibでグラフを描画する
5 scikit-learnで機械学習を行う
6 株価のデータ解析と予測
Amazonで詳しく見る
紹介文
イラストや写真を多用したビジュアル重視の紙面で初心者に直観的に理解できると人気のHead FirstシリーズのPython版
人気の入門書、Head Firstシリーズ待望のPythonバージョン!
イラストや写真を多用したビジュアル重視の紙面で初心者に直観的に理解できると人気のHead FirstシリーズのPython版です。前半でPythonの基本を一通り説明してから、実際に独自のWebアプリケーションをステップバイステップで構築する作業通じて、データベース管理、例外処理、データ処理などの理解を深めていきます。手を動かしながら学べる入門書の決定版です。
Amazonで詳しく見る
紹介文
プログラマーを仕事にしたいなら、まずはひと通りの“開発”を体験してみませんか。スキルアップのための指針が必ず見つかります!
■ 開発の仕事をWebアプリケーションで実体験!
「プログラマーが足りない!」との指摘をよく耳にします。プログラマーやソフトウェアエンジニアを目指している人も多いことでしょう。でも、ゼロから目指すとなると未経験ということに…。何から勉強すればいいか、迷うこともあるのではないでしょうか。
そこで、まずは本書でソフトウェアの開発を“経験”してみませんか?
本書では、たとえプログラミング経験がない人でも、プログラムを作って、サーバーに転送し、誰にでも使ってもらえるようにWeb上のサービスとして公開するところまでできるよう、必要な作業やプロセスを解説しました。プログラミング経験がまったくなくても、本書の解説に沿って作業を進めていけば自分のサービスとしてアプリケーションを公開するところまでひと通りの開発を自分の手で実現できます。
本書を通じて開発したWebアプリケーションは、面接でアピールできる自分の実績になります。面接の場ではぜひ胸を張って「こういうアプリケーションを独力で公開しました」と見てもらってください。
プログラミングを学ぶ際の王道は、文法の基礎からコツコツと学んでいくこと。それはもちろん大事です。でも、それだけだといつになったら何らかのアプリケーションを作れるようになるのか、その道筋がわからず行き詰まってしまう人も少なくありません。
その点で、本書でコーディングからデプロイまで、アプリケーション開発を“実際にやってみる”ことにより、コツコツと学んだ基礎が実際の開発現場でどのように役立つのか、必要とされるのかを実感することができるでしょう。もし、基礎を学びながらモヤモヤとしたものを抱え、学習がはかどらなくなってしまっているのなら、いったん本書で全体像を把握してみることをお薦めします。全体を見渡すことで、基礎の重要性がわかると学習の効率も格段に上がるはず。
本書で取り上げた主なサービスやツールは、AWS(Amazon Web Services)、Django、Git、Herokuです。すべてクラウドで完結しているので、お手元の環境のOSやスペックに依存せず、Webを利用できる環境であれば誰でも同じように開発プロセスをトレースできます。
第1章 プログラマーと開発の仕事
第2章 Webアプリケーション開発の基本
第3章 Pythonの基礎の基礎
第4章 Webアプリ開発――開発環境の作成
第5章 Webアプリ開発――コーディング
第6章 Webアプリ開発――デプロイ
第7章 これからのスキルアップ戦略
Amazonで詳しく見る
紹介文
手作業だと膨大に時間がかかる処理を一瞬でこなすPython 3プログラムの作り方について学べる入門書。
Pythonによる自動処理入門。とにかく、わかりやすい!
ファイル名の変更や表計算のデータ更新といった作業は、日々の仕事の中で頻繁に発生します。ひとつふたつ修正するだけであれば問題はありません。しかし、それが数十、数百となってくると手に負えません。そのような単純な繰り返し作業はコンピュータに肩代わりしてもらうとすごくラクになります。本書では、手作業だと膨大に時間がかかる処理を一瞬でこなすPython 3プログラムの作り方について学びます。対象読者はノンプログラマー。本書で基本をマスターすれば、プログラミング未経験者でも面倒な単純作業を苦もなくこなす便利なプログラムを作れるようになります。さらに、章末の練習問題を解くことで、類似のタスクを自動処理するスキルをもっと高めることができます。
Amazonで詳しく見る
紹介文
日常業務でよく直面する面倒で退屈な作業を、Pythonと豊富なモジュールを使って自動化!ベストセラーの改訂版。
和書5万部突破のベストセラー書の改訂版!
一歩先行くハイパフォーマンスなビジネスパーソンからの圧倒的な支持を獲得し、自作RPA本の草分けとして大ヒットしたベストセラー書の改訂版。劇的な「業務効率化」「コスト削減」「生産性向上」を達成するには、単純な繰り返し作業の自動化は必須です。本書ではWordやExcel、PDF文書の一括処理、Webサイトからのダウンロード、メールやSMSの送受信、画像処理、GUI操作といった日常業務でよく直面する面倒で退屈な作業を、Pythonと豊富なモジュールを使って自動化します。今回の改訂では、GmailやGoogleスプレッドシートの操作、Pythonと各種モジュールの最新版への対応、演習等を増補しています。日本語版では、PyInstallerによるEXEファイルの作成方法を巻末付録として収録しました。
Amazonで詳しく見る
紹介文
プログラミング初心者でも全部できる!
Excelシート間のコピペをはじめ、単純なパソコン仕事は小さなプログラムを書くことで自動で行うことができます。
こうしたプログラムを書けるようになることが、自分の仕事を効率化したい社会人にとって大きな武器になることは間違いありません。
本書ではプログラミング言語Pythonを使って、パソコン仕事の中心であるExcel作業を自動化する方法を紹介します。
Excelの自動化といえば「マクロ・VBA」が定番ですが、Pythonの強みは
・Excelアプリを起動しなくてよい
・メールやWebブラウザなども簡単に自動化できる
という点にあります。
本書ではExcelとともにメール、Webの自動化もしっかり扱います。これにより、Webから抽出したデータをExcelファイルに保存してメールで送信、といった連携も行えるようになり、仕事での活用の幅が広がります。
プログラミング初心者である社会人が、実際に自分の仕事が自動化できるように、必要な情報をもれなく丁寧に解説することを心掛けました。本書を片手に「新しい仕事のやり方」を始めましょう!
<本書の方針>
・オブジェクトなどの難しいプログラム理論は一切使いません。
・一番単純な道具だけで、準備に時間をかけず、すぐ始められます。
・実践的な例題で、実務で本当に使えるプログラムを紹介します。
第1章 Pythonプログラミングの基本
1-1 プログラムを書いて実行する方法を覚える
1-2 変数を使ったコードを書いてみよう
1-3 複数のデータはリストに入れる
1-4 複数のデータをループで処理する
1-5 データの状態に応じて処理を分ける
1-6 IDLEを使いやすく設定する
第2章 PythonでExcelファイルを操作する
2-1 Excelファイルの基本構造を理解しよう
2-2 ブックの開き方・保存方法を覚えよう
2-3 プログラムでセルの値を読み書きしよう
2-4 セルを1行ずつ読み書きする
2-5 シートの操作方法を覚えよう
2-6 複数のシートをまとめる
2-7 絶対に覚えておきたいプログラミングのコツ
第3章 PythonでCSVファイルを操作する
3-1 CSVファイルを読み込んでみよう
3-2 CSVファイルにデータを書き込んでみよう
3-3 Excelブックと相互に変換する
第4章 Excelファイルの転記・集計をPythonでおこなう
4-1 転記・集計を実現するExcelの三大関数とは
4-2 Excelのマスタを取り込む
4-3 Excelのマスタからデータを検索する
4-4 表のデータを別のブックに転記する
4-5 条件を満たすデータの個数や合計を求める
4-6 Pythonで自動化するメリットとは
第5章 帳票作成をPythonでおこなう
5-1 請求書作成の手順を整理する
5-2 顧客ごとの売上データの絞り込み
5-3 顧客ごとの請求書を作成する
5-4 請求書を印刷してPDFとして保存しよう
5-5 業務全体ではExcelと良いとこ取りを目指す
第6章 Pythonでもっと作業を自動化するには
6-1 Pythonの強みは豊富なライブラリ
6-2 PythonならメールもWebも自動化できる
第7章 Pythonで複数の人にまとめてメール送信する
7-1 メールサーバーとの交信方法
7-2 メールで送るメッセージを作成する
7-3 メールを自動送信する
第8章 PythonでWebから情報を収集する
8-1 Seleniumのインストール
8-2 ブラウザを操作してみる
8-3 Selenium IDEでブラウザ操作を記録
8-4 Webページから情報を読み取る
8-5 実際のWebページから情報を読み取る
8-6 Webからの情報収集を自動化する
Amazonで詳しく見る
紹介文
こんどはデータ分析に挑戦!「数式一切なし」で理解できちゃう!データ分析のきほんとしくみ
Pythonでデータ分析を体験してみよう!
【データ分析を一緒に体験しよう】
スクレイピングなどで集めた大量のデータ。
どうやって分析してたらよいか、困っていませんか?
「数式があって難しそう」
「プログラムも大変そう」
と思っている方も多いはず。
本書は、そうした方に向けて、サンプルを元にやさしく
データ分析の方法を解説しています。
【Python2年生について】
「Python2年生」は、「Python1年生」を読み終えた方を対象とした入門書です。
ある程度、技術的なことを盛り込み、本書で扱う技術について身に着けてもらいます。
『Python2年生 スクレイピングのしくみ』(ISBN:9784798161914)も刊行されています。
【対象読者】
・データの分析方法を知りたい初心者
【本書のポイント】
ヤギ博士&フタバちゃんと一緒に、データ分析の考え方から丁寧に解説。
データを分析する時に必要な前処理の方法や、データの集まりの見方、
データを見やすいグラフにする方法、データの分布の見方、予測の立て方を
解説する書籍です。
【著者プロフィール】
森 巧尚(もり・よしなお)
アプリの開発や、技術書や電子工作マガジンなどでの執筆活動。関西学院大学非常勤講師、
関西学院高等部非常勤講師、成安造形大学非常勤講師、プログラミングスクールコプリ講師など、
プログラミングに関する幅広い活動を行っている。
近著に『Python1年生』、『Python2年生 スクレイピングのしくみ』、
『Java1年生』、『動かして学ぶ!Vue.js開発入門』(いずれも翔泳社)、
『楽しく学ぶ アルゴリズムとプログラミングの図鑑』(マイナビ出版)などがある。
第1章 データ分析って何?
LESSON 01 データ分析って何
LESSON 02 データ分析の手順:PPDACサイクル
LESSON 03 Jupyter Notebookをインストールしよう
LESSON 04 Jupyter Notebookの使い方
第2章 集めたデータは前処理が必要
LESSON 05 表データを読み込もう
LESSON 06 データをざっくりと眺める
LESSON 07 データのどこを使う?
LESSON 08 データのミスをチェックする
第3章 データの集まりをひとことでいうと?:代表値
LESSON 09 データを平らに均(なら)す
LESSON 10 平均値を代表といっていいの?
LESSON 11 平均値が同じなら、同じといっていいの?
第4章 図で特徴をイメージしよう:グラフ
LESSON 12 データのばらつきがわかる
LESSON 13 基本的なグラフを作ろう
LESSON 14 ばらつきのわかるグラフ
LESSON 15 グラフをわかりやすく調整する
第5章 これって普通なこと?珍しいこと?:正規分布
LESSON 16 データのばらつきを数値で表す
LESSON 17 自然なばらつき
LESSON 18 この値は普通なこと?珍しいこと?
LESSON 19 このデータは自然なばらつき?
LESSON 20 違うばらつきのデータでの比較ができる
第6章 関係から予測しよう:回帰分析
LESSON 21 2種類のデータの関係性の強さ:相関係数
LESSON 22 散布図の上に線を引いて予測
LESSON 23 総当たりで表示させる散布図
LESSON 24 アヤメのデータを見てみよう
Amazonで詳しく見る
紹介文
Pythonの基本からデータ分析まで、1冊で学べる本。データを分析するのに必要最小限の知識を最短コースで習得できる。
身近なデータをPythonで分析できるようになるための知識を、最短コースで身に付けられる本です。Pythonのホントの基本から、データ分析に必要なPythonライブラリの使い方、データ分析の実践例までを一気に学べます。プログラミングの経験がない方もこの1冊を読めば、実際のデータ分析を始められます。
ベストセラーの「最短コースでわかる ディープラーニングの数学」「Pythonで儲かるAIをつくる」などを執筆した著者が送るデータ分析&AI書籍の第4弾。いつもの平易な解説で、初学者も安心して学べます。
本書は次のような方に最適です。
(1)プログラミング言語自体を知らないが、データ分析のためにこれから勉強したいという方
(2)Pythonのプログラミングは理解しているが、pandasなどの分析用ライブラリがわからないのでAI書籍の実習コードが読めない方
(3)データ分析の全体像がつかめず、いざデータ分析をしようとすると、どこから手を付けていいかわからない方
本書において、Pythonプログラミングとデータ分析を「最短コース」で学べるようにしたポイントは三つあります。
(1)学習内容を最低限に抑える
Python自体も、pandasなどの分析用ライブラリも、機能は多いですが、データ分析で本当に必要なものは意外と多くありません。各領域で本当に必要な機能に絞り込んで解説しています。データ分析の実務でほとんど登場しないPythonの機能は、思い切って全部落としました。Pythonやpandas、Matplotlibなど、それぞれを分厚い本で学ぶ必要はなく、本書1冊で身に付けられます。
(2)演習問題でプログラミングの実地訓練を積む
テーマ(節)ごとに演習問題を設けていて、実際のコーディングによる訓練でプログラミングの実務スキルが身に付きます。
(3)開発環境(Google Colab)上の試行錯誤で体得
関数の細かい挙動について、トライアンドエラーを繰り返して体験・実験により理解できます。
実際にデータ分析ができるようになるには、さらに「洞察の導出」という難しいタスクがあります。このタスクは内容が抽象的なだけに、なかなか体系的には学べません。そこで本書では「この業務要件でこのデータを分析した場合、こんな洞察が得られる」という話をたくさん入れ込みました。このような具体例を通して、自分自身のテーマに対して洞察を導くためのヒントが得られます。
本書を読了した方は、プログラミングとデータ分析という必須スキルを身に付けられ、ニーズの高いDX人材のど真ん中に位置できます。
Pythonの基本からデータ分析まで、1冊で学べる本。データを分析するのに必要最小限の知識を最短コースで習得できる。
1章 Pythonプログラミング入門
Google Colabの基本操作、変数、データ型、 条件分岐、関数とメソッド、リストとループ処理、タプルと辞書、関数定義、やや高度なループ処理
2章 データ分析ライブラリ入門編
ライブラリ入門、NumPy入門、Matplotlib入門、pandas入門
3章 データ分析ライブラリ中級編
pandas活用、データ読み込み、確認・加工(前処理)、集計、可視化、検索・結合、日付データの処理
4章 データ分析実践編
公開データセットから知見を導出、相関関係と因果関係の違い、仮説と検証
Amazonで詳しく見る
紹介文
今、最も熱いプログラミング言語、それがPython
Python入門書のデファクトスタンダードが4年ぶりに大改訂。
近年、Pythonの利用が、機械学習、AIなどの科学技術分野へ
大きく広がっている現状を踏まえて、すべてのパートに手を入れ
いくつかの新章を追加しました。
次の10年を担うPythonプログラマを養成するための一冊。
Chapter01 プログラミング言語Python
Chapter02 Pythonでプログラミングをはじめよう
Chapter03 Pythonの基礎をマスターする
Chapter04 組み込み型を使いこなす
Chapter05 Pythonと関数型プログラミング
Chapter06 クラスとオブジェクト指向開発
Chapter07 クラスの継承と高度なオブジェクト指向機能
Chapter08 モジュール
Chapter09 スコープとオブジェクト
Chapter10 例外処理
Chapter11 標準ライブラリを使う
Chapter12 Pythonとデータサイエンス
Chapter13 Pythan2
・AnacondaやJupyter Notebookなど、Pythonの最新開発環境に対応
・NumPy、matplotlibなどの科学技術系ライブラリに対応
・Windows、macOS、Linux対応
Chapter01 プログラミング言語Python
Chapter02 Pythonでプログラミングをはじめよう
Chapter03 Pythonの基礎をマスターする
Chapter04 組み込み型を使いこなす
Chapter05 Pythonと関数型プログラミング
Chapter06 クラスとオブジェクト指向開発
Chapter07 クラスの継承と高度なオブジェクト指向機能
Chapter08 モジュール
Chapter09 スコープとオブジェクト
Chapter10 例外処理
Chapter11 標準ライブラリを使う
Chapter12 Pythonとデータサイエンス
Chapter13 Pythan2
Amazonで詳しく見る
紹介文
待望の「機械学習のしくみ」が登場!ヤギ博士&フタバちゃんと一緒に機械学習の世界を体験してみよう!
ヤギ博士・フタバちゃんと一緒に
機械学習のしくみを学ぼう!
【機械学習をいちから学んでみよう!】
「最近よく耳にする人工知能と機械学習について知りたい」
「機械学習ってどのようなことをするの?」
と思っている方は多いと思います。
本書はそうした方に向けて「機械学習」について
いちからやさしく解説します。
【Python3年生について】
「Python1年生」「Python2年生」を読み終えた方を対象とした入門書です。
(※「Python3年生」から初めて学ぶ方でもわかるように工夫しています)
【読者対象】
機械学習の初心者
【本書のポイント】
ヤギ博士&フタバちゃんと一緒に、
機械学習のしくみについて、
サンプルを動かしながら、
楽しく学ぶことができます。
【著者プロフィール】
森 巧尚(もり・よしなお)
アプリの開発や、技術書や電子工作マガジンなどでの執筆活動。
関西学院大学非常勤講師、関西学院高等部非常勤講師、
成安造形大学非常勤講師、大阪芸術大学非常勤講師、プログラミングスクールコプリ講師など、
プログラミングに関する幅広い活動を行っている。
近著に『Python1年生』、『Python2年生 スクレイピングのしくみ』、『Python2年生 データ分析のしくみ』、
『Java1年生』、『動かして学ぶ! Vue.js開発入門』(いずれも翔泳社)、
『楽しく学ぶ アルゴリズムとプログラミングの図鑑』(マイナビ出版)などがある。
第1章 機械学習の準備
01 機械学習ってなんだろう?
02 分けることは、わかること
03 機械学習の準備をしよう
第2章 サンプルデータを見てみよう
04 scikit-learn のサンプルデータセット
05 サンプルデータセットを自動生成しよう
第3章 機械学習の手順を理解しよう
06 データを用意する
07 データを学習用とテスト用に分ける
08 モデルを選んで、学習する
09 モデルをテストする
10 新しい値を渡して、予測する
11 分類の状態を可視化しよう
第4章 機械学習のいろいろなアルゴリズム
12 回帰:線形回帰
13 分類:ロジスティック回帰
14 分類:SVM(サポートベクターマシン)
15 分類:決定木
16 分類:ランダムフォレスト
17 分類:k-NN(k 近傍法)
18 クラスタリング:k-means(k 平均法)
第5章 チノふたたび! 画像から数字を予測しよう
19 データを準備する
20 学習データを準備する
21 学習させる
22 予測させる
23 教師なし学習を利用して、データをイメージしよう
24 さらに先へ進もう
Amazonで詳しく見る
紹介文
データ収集の基本!スクレイピングを体験してみよう!
Pythonでスクレイピングを体験してみよう!
【スクレイピングとは】
機械学習やデータ分析になくてはならない「データ」。
このようなデータは、インターネット上に膨大にありますが、Pythonを使えば効率よくデータ収集できます。
こうした手法を「スクレイピング」といいます。
サイト自体もオープンデータ化が進んでおり、データを集めやすい環境が整ってきています。
【Python2年生について】
「Python2年生」シリーズは、「Python1年生」を読み終えた方を対象とした入門書です。
ある程度、技術的なことを盛り込み、本書で扱う技術について身に着けてもらいます。
【ターゲット】
・ネット上からデータ収集を行う初心者
・データ分析の手前の初心者
【本書の売り】
ヤギ博士&フタバちゃんと一緒に、インターネットからのファイルのダウンロード方法、
HTML解析の方法、いろいろなデータの読み書き、
APIの使い方といったデータ収集と便利なライブラリを利用した簡単な可視化手法を解説する書籍です。
また最終的にデータ収集を自動化する方法も簡単に解説します。
第1章 Pythonでデータをダウンロード
LESSON 01 スクレイピングってなに?
LESSON 02 Pythonをインストールしてみよう
LESSON 03 requestsでアクセスしてみよう
第2章 HTMLを解析しよう
LESSON 04 HTMLを解析してみよう
LESSON 05 ニュースの最新記事一覧を取得してみよう
LESSON 06 リンク一覧をファイルに書き出そう
LESSON 07 画像を一括ダウンロードしよう
第3章 表データを読み書きしよう
LESSON 08 pandasを使ってみよう
LESSON 09 さまざまなデータの加工
LESSON 10 グラフで表示してみよう
LESSON 11 Excelファイルを読み書きしてみよう
第4章 オープンデータを分析してみよう
LESSON 12 オープンデータってなに?
LESSON 13 郵便局:郵便番号データ
LESSON 14 e-Stat:政府統計の相互窓口
LESSON 15 キッズすたっと:探そう統計データ
LESSON 16 自治体のデータ:データシティ鯖江
第5章 Web APIでデータを収集しよう
LESSON 17 Web APIってなに?
LESSON 18 OpenWeatherMapってなに?
LESSON 19 現在の天気を調べよう
LESSON 20 現在から5日間(3時間ごと)の天気を調べよう
Amazonで詳しく見る
紹介文
「競合商品のデータを毎回探すのは大変」
「常にチェックしている売上ランキングをまとめおきたい」
「情報を集めるのに手間取って、じっくり分析する時間がない」
こんな情報収集の悩みは、プログラムを使えば解決できます!
多くのビジネスにおいて、自社や他社の商品情報や人気トレンド、口コミ評判などのデータ収集・分析は欠かせません。しかし、膨大なネット上の情報を手作業で集めるのは容易ではありません。データ収集に時間がかかりすぎてしまい、本来の目的である分析に時間をかけられないケースも多いでしょう。
そんなときは、データ収集をプログラムで自動化してみましょう!
本書では、プログラミング言語Python(パイソン)を使ったスクレイピングという技術で、WebページやSNSなどから自動でデータ収集する方法を学べます。初心者でも実践できるように、プログラミングやWebページのしくみの知識は必要最小限に抑え、練習用のページやサンプルのプログラムでスクレイピングを実践しながら学びます。練習用ページなどには、実際のビジネス利用シーンをイメージしやすい事例を用意しました。
プログラミングで業務を自動化・効率化したいビジネスパーソン必見の1冊です!
●はじめに
■第1章 データ収集をハックする
■■1-1 プログラムを使って自動でデータを集める
■■■データを集める重要性が高まっている自動収集の必要性とメリット
■■■本書で取り上げるトピック
■■1-2 自動で集められるデータとは
■■■データの分類を知る
■■■データの提供方法を知る
■■■本書で取り上げる自動収集データ
■■1-3 自動収集の注意点を押さえる
■■■1. サイトの利用規約を守る
■■■2. データ取得には十分な間隔をあけて、サーバーに負担をかけすぎない
■■■3. 取得したデータの利用に際しては、著作権や個人情報を侵害しない
■第2章 Webからデータを集める準備
■■2-1 データ収集に役立つPython
■■2-2 Pythonが使える環境を準備する
■■■Anacondaを準備する
■■■Jupyter Notebookの使い方を理解する
■■■Jupyter Notebookを起動する
■■■Pythonのプログラムを実行する
■■■エディットモード・コマンドモードを理解する
■■■ショートカットキーを理解する
■■■作成したノートブックを保存する
■■■Jupyter Notebookを終了する
■■2-3 Python超入門
■■■データ型と変数を理解する
■■■数値計算をする
■■■文字や数値を画面に出力する(print関数)
■■■データ構造を押さえる(リスト、タプル、辞書)
■■■条件で処理を分岐させる(if文、else)
■■■くり返し処理を押さえる(for文、while文)
■■■関数で何度もおこなう処理をまとめる
■■■ライブラリの使い方を理解する
■第3章 データ自動収集のしくみを押さえる
■■3-1 Webページ・WebAPIのしくみを理解する
■■■Webページの通信方法を押さえる
■■■HTMLを理解しよう
■■■HTMLタグの種類を押さえる
■■■HTMLタグの属性を押さえる
■■■HTMLの階層構造を理解する
■■■CSSを理解しよう
■■■JavaScriptを知ろう
■■■Web APIを理解しよう
■■3-2 データのフォーマットや種類を理解する
■■■フォーマットの種類と特徴
■■■データのおもな種類とオープンデータ
■■3-3 Webページからデータを取得する方法を理解する
■■■データ取得の3ステップ
■■3-4 ステップ1:HTMLをダウンロードする
■■■requestsをインストールする
■■■requestsの使い方を理解する
■■■ダウンロードしたHTMLの内容を確認する
■■3-5 ステップ2:データを抽出する
■■■Beautiful Soupをインストールする
■■■Beautiful Soupの使い方を理解する
■■■Chrome開発者ツールの使い方を理解する
■■■データを抽出する3つの方法
■■■抽出方法1 要素を検索して取り出す
■■■抽出方法2 HTMLの階層を移動して探し出す
■■■抽出方法3 CSSセレクタを用いて要素を指定する
■■■3つの抽出方法の選び方
■■■3つの方法を組み合せて使う
■■■CSSセレクタをもっと理解する
■■3-6 ステップ3:データを保存する
■■■テキストデータを保存する
■■■バイナリデータ(画像、PDF、EXCELファイル)を保存する
■■3-7 Webページから実際にデータを取得する
■■■練習用ページを確認する
■■■作成するプログラムを理解する
■■■データ取得方法を検討する
■■■一覧・詳細ページからデータを取得する
■■■取得したデータを保存する
■第4章 Pythonでデータを自動で集める
■■4-1 売れ筋ランキング情報を収集しよう
■■■売れ筋でマーケットトレンドを把握しよう
■■■Webページからの情報収集の準備
■■■データ取得方法を検討する
■■■ライブラリをインポートする
■■■一覧ページからデータを取得する
■■■詳細ページからデータを取得する
■■4-2 人気商品の画像情報を集めよう
■■■活用の幅が広がる画像情報
■■■画像情報収集の準備
■■■データ取得方法を検討するライブラリをインポートする
■■■一覧ページからデータを取得する
■■■一覧ページから取得したデータを保存する
■■■画像データをダウンロード・保存する
■■4-3 メディアから記事情報を収集しよう
■■■メディアから定性情報を収集しよう
■■■記事情報収集の準備
■■■データ取得方法を検討する
■■■ライブラリをインポートする
■■■記事データを取得する
■■■取得した記事データを保存する
■■4-4 オープンデータの統計情報を収集しよう
■■■オープンデータで自社サービスを強化しよう
■■■政府統計の総合窓口e-Statとは
■■■e-Stat APIの基本的な使い方
■■■統計データを取得する
■■■取得した統計データを保存する
■■4-5 TwitterAPIから口コミ情報を集めよう
■■■口コミ情報でサービス・製品の改善点を分析しよう
■■■Twitter APIを準備する
■■■Twitter APIの基本的な使い方
■■■ツイートデータを取得する取得したツイートデータを保存する
■第5章 集めたデータを活用しやすい形にする
■■5-1 データ活用までに必要な準備
■■5-2 保存したデータを取り出す
■■■データ表の形式を理解する
■■■CSVファイルを読み込む
■■■読み込んだデータを確認する
■■5-3 データを整形する
■■■不要な列データを取り除く
■■■欠損データに対応する
■■■データ型を変換する
■■■整形したデータを保存する
■■5-4 データをグラフで表示する
■■■必要な行だけを取り出す
■■■データフレームを結合する
■■■統計値を取得する
■■■グラフに表示する
●索引
●著者プロフィール
Amazonで詳しく見る
紹介文
大手メーカーで活躍してきたクリエイターが
ゲーム開発のノウハウをゼロから教えます!
本書はPythonを使用した、ゲームプログラミングの解説書です。
類書とは異なり、終始一貫「ゲーム開発」に焦点を当て、
今書いているプログラムがどのような"動き"に反映され、
どのような"面白さ"に結びつくのかを、正しく学ぶことができます。
一般的なソフト開発ではなく「ゲーム開発の作法」をきちんと学ぶことによって、ゲーム好きな読者の皆さんの就職や趣味といったリアルな世界がより充実してくれることを願い、出版されました。
【読者対象】
○ゲーム業界に就職したい学生・社会人
○SNSや同人で自作ゲームを発表したい方
○落ち物パズル、RPGの作り方を知りたい方
○一般ソフトとゲーム制作の違いを知りたい方
○Pythonを始めたけど作るものが浮かばない方
……高校生ぐらいから読めます!
【本書の特長】
○業界の基礎知識やプログラマーの役割からきちんと解説
○Pythonの基本文法をしっかり解説、プログラミング初心者も安心
○プログラム1行ごとに説明を付けており、理解しやすい
○豊富な図解とイラストを用い、イメージで理解できる
○開発に必要な素材はすべて無償ダウンロードできる
クイズ、すごろく、おみくじ、診断アプリ、迷路、自動生成ダンジョン、落ち物パズル、本格PRGなど……簡単なミニゲームから難しいものまで幅広く教材を用意しています。
さらに、読者特典として3つのおまけゲームもプレゼント!
すべてのゲームをつくり終えた時、あたなのプログラミングスキルは何倍にも向上しているに違いありません。
本書を機に、ぜひゲームプログラミングの世界に飛び込んでみてください!
Prologueゲームプログラマーになろう!
Chapter 1 Pythonのインストール
Lesson 1-1 Pythonとは?
Lesson 1-2 Pythonのインストール
Lesson 1-3 Pythonを起動しよう
COLUMN ゲームクリエイターって儲かるの?
Chapter 2 Pythonを始めよう
Lesson 2-1 計算してみる
Lesson 2-2 文字列を出力する
Lesson 2-3 カレンダーを出力する
Lesson 2-4 プログラミングの準備
Lesson 2-5 プログラムを記述しよう
Lesson 2-6 入出力命令を知ろう
Lesson 2-7 プログラムの記述の仕方
COLUMN ゲームが完成するまで
Chapter 3 プログラミングの基礎を学ぼう
Lesson 3-1 変数と計算式
Lesson 3-2 リストについて
Lesson 3-3 条件分岐について
Lesson 3-4 繰り返しについて
Lesson 3-5 関数について
COLUMN ゲームの開発費はどれくらい? その1
Chapter 4 importの使い方
Lesson 4-1 モジュールについて
Lesson 4-2 カレンダーの復習
Lesson 4-3 日時を扱う
Lesson 4-4 乱数の使い方
COLUMN RPGで逃げるのに失敗する確率
Chapter 5 CUIでつくるミニゲーム
Lesson 5-1 CUIとGUI
Lesson 5-2 クイズゲームを作る
Lesson 5-3 すごろくを作る
Lesson 5-4 消えたアルファベットを探すゲームを作る
COLUMN ゲームの開発費はどれくらい? その2
Chapter 6 GUIの基礎1
Lesson 6-1 GUIについて
Lesson 6-2 ラベルを配置する
Lesson 6-3 ボタンを配置する
Lesson 6-4 キャンバスを使う
Lesson 6-5 おみくじを引くソフトを作る
COLUMN キャンバスに図形を表示する
Chapter 7 GUIの基礎2
Lesson 7-1 テキスト入力欄を配置する
Lesson 7-2 複数行のテキスト入力欄を配置する
Lesson 7-3 チェックボタンを配置する
Lesson 7-4 メッセージボックスを表示する
Lesson 7-5 診断ゲームを作る
COLUMN RGBによる色指定
Chapter 8 本格的なゲーム開発の技術
Lesson 8-1 リアルタイム処理を実現する
Lesson 8-2 キー入力を受け付ける
Lesson 8-3 キー入力で画像を動かす
Lesson 8-4 迷路のデータを定義する
Lesson 8-5 二次元画面のゲーム開発の基礎
COLUMN ゲームソフトを完成させるには
Lesson 8-6 ゲームとして完成させる
COLUMN デジタルフォトフレームを作る
Chapter 9 落ち物パズルを作ろう!
Lesson 9-1 ゲームの仕様を考える
Lesson 9-2 マウス入力を組み込む
Lesson 9-3 ゲーム用のカーソルの表示
Lesson 9-4 マス上のデータを管理する
Lesson 9-5 ブロックを落下させるアルゴリズム
Lesson 9-6 クリックしてブロックを置く
Lesson 9-7 ブロックが揃ったかを判定するアルゴリズム
Lesson 9-8 正しいアルゴリズムを組み込む
Lesson 9-9 タイトル画面とゲームオーバー画面
Lesson 9-10 落ち物パズルの完成
COLUMN winsoundで音を鳴らす
Chapter 10 Pygameの使い方
Lesson 10-1 Pygameのインストール
Lesson 10-2 Pygameのシステム
Lesson 10-3 画像を描画する
Lesson 10-4 図形を描画する
Lesson 10-5 キー入力を行う
Lesson 10-6 マウス入力を行う
Lesson 10-7 サウンドを出力する
COLUMN Pygameで日本語を使う
Chapter 11 本格RPGを作ろう! 前編
Lesson 11-1 ロールプレイングゲームについて
Lesson 11-2 迷路を自動生成する
Lesson 11-3 ダンジョンを作る
Lesson 11-4 ダンジョン内を移動する
Lesson 11-5 戦闘シーンを作る その1
Lesson 11-6 戦闘シーンを作る その2
Lesson 11-7 戦闘シーンを作る その3
COLUMN ゲームの画面演出 287
Chapter 12 本格RPGを作ろう! 後編
Lesson 12-1 ロールプレイングゲームの全体像
Lesson 12-2 ファイルのダウンロードとプログラムの実行
Lesson 12-3 プログラムリスト
Lesson 12-4 プログラムの詳細
COLUMN Pythonでのファイル処理
Chapter 13 オブジェクト指向プログラミング
Lesson 13-1 オブジェクト指向プログラミングについて
Lesson 13-2 クラスとオブジェクト
Lesson 13-3 tkinterを使ってオブジェクト指向を学ぶ
Lesson 13-4 オブジェクト指向プログラミングをもっと学ぶ
COLUMN 筆者も苦労したオブジェクト指向プログラミング
Appendix 池山高校Python研究部
Intro ゲームをつくろう!
1つ目 一筆書き迷路ゲーム
2つ目 英単語学習ソフト
3つ目 ブロック崩し
Amazonで詳しく見る
紹介文
ゲームを作りながらPythonを楽しく学ぶ!
プログラミングを習得する一番効率的な方法、それはゲームを作りながら学ぶこと。
文法だけを学んでも、何に、どうやって使うかわからないままでは、きちんとプログラミングを覚えたとは言えません。
本書の特徴は「プログラミング学習に最適なPythonを使って」、「ゲームを作りながらプログラミングの実践的な考え方を身に付けられる」ことです。
PART1では「Pythonの基礎知識」を学び、PART2ではその知識をもとにpygameを使って「ゲームを作る」2つのパートで構成されています。
「いきなりゲームを作るなんて難しそう!」
そう感じる人もいるかもしれませんが大丈夫。
まずは、サンプルコードを真似しながら手を動かしてプログラムが動くことを実感してみましょう。
Pythonに詳しいやさしいカエルくんがしっかり丁寧に教えてくれます。
サンプルファイルもダウンロードできるから、自分で書いたプログラミングが動かないときもしっかりサポート。
プログラミングで一番大切なことは、命令をたくさん覚えることでも、エラーなく正しく書くことでもありません。
もちろんそれらも大事。でも一番は、「自分で考えたアイデアをカタチにする」ことなんです。
「ゲームってこうやって作るんだ」「シューティングゲームってこうやって動いていたんだ!」
新しい発見をしながら学習した知識は、しっかり身に付きます。
自分で考えたゲームやアイデアを形にできる瞬間は、とても楽しいですよ。
「プログラミングには興味があるけど、どうやって勉強したらいいんだろう?」
「何度も挑戦してるけど難しくて脱落してしまった……」
そんなふうに考えているプログラミング入門者、Python入門者にぜひ手に取っていただきたい1冊です!
【本書で作るゲーム】
PART1ではPythonの基礎を学びながら「体重と身長を入力してBMI値を出す」簡単なアプリのようなものを作っていきます。
PART2ではpygameをインストールして、
・「衝突判定を使ったアクションゲーム」、
・「ボール反射を利用したブロック崩しゲーム」、
・「集大成のシューティングゲーム」
など本格的なゲームを作っていきます。
作れるゲームが増えていくことで感じる「できた!」という達成感は、まるでゲームをクリアしたときのような快感にも似ていますよ。
【本書の特徴】
・ゲームを作りながらPythonとプログラミングの基本が学べる
・Pythonに詳しいカエルくんがやさしく教えてくれる
・『お手本のコードを真似して書く』→『動かす』の積み重ねで知識が定着、しっかり身に付く
・ダウンロードできるサンプルファイルつき
==========================================================
PART 1 Pythonを学ぼう
==========================================================
CHAPTER 1 Pythonってなに?
----------------------------------------------------------
1.1 Pythonを始めよう
1.2 Pythonのインストール
1.3 IDLEでPythonに触れてみよう
1.4 最初の命令はprint
1.5 ファイルを作ってプログラミング
----------------------------------------------------------
CHAPTER 2 プログラムの基本1 順次、変数
----------------------------------------------------------
2.1 プログラムの3つの基本 順次、分岐、反復
2.2 順次 上から順番に、実行する
2.3 変数
2.4 データ型
2.5 ユーザーからの入力はinput
2.6 inputと計算でアプリを作ろう!
----------------------------------------------------------
CHAPTER 3 プログラムの基本2 条件分岐、ランダム
----------------------------------------------------------
3.1 分岐 もしも~だったら、○○する
3.2 ランダム コンピュータのサイコロ
3.3 if文とランダムでアプリを作ろう
----------------------------------------------------------
CHAPTER 4 プログラムの基本3 反復、たくさんのデータ
----------------------------------------------------------
4.1 たくさんのデータはリストに入れて使う
4.2 反復 同じ処理をくり返す
4.3 range くり返す範囲を決める
4.4 リストでアプリを作ろう
----------------------------------------------------------
CHAPTER 5 プログラムをまとめる 関数、ループ
----------------------------------------------------------
5.1 関数 仕事をひとまとめにする
5.2 モジュールで分割
5.3 ループ 条件を満たす間くり返す
5.4 関数とループでアプリを作ろう
==========================================================
PART 2 ゲームを作ろう
==========================================================
CHAPTER 1 pygameで絵を描こう
----------------------------------------------------------
1.1 pygameでゲームを作ろう
1.2 pygameの基本
1.3 図形や、文字、画像を描こう
1.4 グラフィックスを動かそう
----------------------------------------------------------
CHAPTER 2 キーやマウスで動かそう
----------------------------------------------------------
2.1 キーで絵を動かそう
2.2 マウスで絵を動かそう
2.3 ボタンを作ろう
----------------------------------------------------------
CHAPTER 3 画面の切り換えで紙芝居
----------------------------------------------------------
3.1 1ページを1つの関数にまとめる
3.2 一本道の紙芝居
3.3 枝分かれの紙芝居
----------------------------------------------------------
CHAPTER 4 衝突判定でアクションゲーム
----------------------------------------------------------
4.1 キャラクターを上下左右に移動する
4.2 他のRectとの衝突判定
4.3 複数のRectとの衝突判定
4.4 ワナをたくさんばらまく
4.5 ワナと衝突したらゲームオーバー
4.6 ゴールと衝突したらゲームクリア
4.7 追いかけてくるオバケ登場!
----------------------------------------------------------
CHAPTER 5 ボールを反射してブロック崩し
----------------------------------------------------------
5.1 ボールをバーで打ち返す
5.2 ボールが画面の下に移動したら、ゲームオーバー
5.3 ブロックをたくさん並べる
----------------------------------------------------------
CHAPTER 6 ブロック崩しから、シューティングゲームへ
----------------------------------------------------------
6.1 自機を左右に移動
6.2 UFOが落下する
6.3 自機とUFOが衝突したら、ゲームオーバー
6.4 弾とUFOが衝突したら、UFOが消える
6.5 星を降らせて、スコアを追加
==========================================================
APPENDIX 巻末付録 Pygameリファレンス
==========================================================
・Pygameの命令一覧
・色の名前リストプログラム
Amazonで詳しく見る
紹介文
面倒くさい日々の作業は、プログラミングで簡単に処理しよう。
ビジネスの現場で自動化・効率化を実現する入門書の決定版!
本書は日常業務の効率化・自動化を目標に、「Python」というプログラミング言語でビジネス用のアプリケーション・ソフトウェア開発を学ぶ入門書です。
効率化や自動化、あるいはビジネスソフトという言葉を耳にすると、プログラミング未経験者や初心者の方は難しそうと感じるかもしれませんが、心配は無用です。
Pythonは、とても学びやすいプログラミング言語です。本書は、初学者が理解できるようにプログラミングの基礎から学び始める構成になっています。
また、Pythonや他のプログラミング言語ですでにソフトウェアを開発できるスキルをお持ちで、
「本格的に自動化プログラムを組みたい」「GUIを用いたソフトウェア開発をしたい」という方のために、Pythonのプログラミング・テクニックも網羅しています。
Chapter 1 プログラミングを始めよう!
Section 1-1 Pythonとは?
Section 1-2 ハードウェアとソフトウェア
Section 1-3 作業の自動化について理解しよう!
Section 1-4 プログラミングの準備〜拡張子の表示〜
Section 1-5 Pythonをインストールしよう!
Section 1-6 Pythonを起動しよう!
Column Pythonを優秀な部下にしよう!
Chapter 2 Pythonに色々させてみよう!
Section 2-1 IDLEの使い方
Section 2-2 計算をさせる
Section 2-3 ホームページを開かせる
Section 2-4 カレンダーを出力させる
Section 2-5 シェルウィンドウとエディタウィンドウ
Section 2-6 プログラムの入力と実行
Section 2-7 プログラムの記述ルール
Column プログラミング習得への近道
Chapter 3 プログラミングの基礎知識
Section 3-1 入力と出力
Section 3-2 変数と計算式
Section 3-3 データ型について
Section 3-4 条件分岐
Section 3-5 繰り返し
Column Pythonに九九の表を作らせよう!
Chapter 4 関数とリストについて学ぼう!
Section 4-1 関数を理解する
Section 4-2 関数の定義
Section 4-3 関数の引数と戻り値
Section 4-4 リストを理解する
Section 4-5 二次元リストを理解する
Section 4-6 日時の取得
Section 4-7 ファイル操作
Column CUIでミニゲームを作ろう!
Chapter 5 GUIの基礎知識
Section 5-1 GUIとは?
Section 5-2 ウィンドウを表示する
Section 5-3 ラベルを配置する
Section 5-4 メッセージを配置する
Section 5-5 ボタンを配置する
Section 5-6 ボタンをクリックしたときの処理
Section 5-7 メッセージボックスを表示する
Column サイコロアプリを作ろう!
Chapter 6 GUIの高度な使い方
Section 6-1 1行のテキスト入力欄を配置する
Section 6-2 複数行のテキスト入力欄を配置する
Section 6-3 チェックボタンを配置する
Section 6-4 チェックボタンを操作する
Section 6-5 コンボボックスを配置する
Section 6-6 キャンバスを配置する
Section 6-7 その他のGUI
Section 6-8 複数のウィンドウを扱う
Column キャンバスに画像を表示しよう!
Chapter 7 時計アプリを作ってみよう!
Section 7-1 リアルタイム処理を行う
Section 7-2 グローバル変数とローカル変数を理解する
Section 7-3 日時を表示する
Section 7-4 時計アプリの完成
Section 7-5 時計アプリの応用
Column Pythonに円周率を計算させよう!
Chapter 8 テキストエディタを作ってみよう!
Section 8-1 スクロールバーを設置する
Section 8-2 メニューを作る
Section 8-3 ファイルダイアログの使い方
Section 8-4 ファイルを読み込む
Section 8-5 ファイルを書き込む
Section 8-6 テキストエディタの完成
Section 8-7 半角カタカナを全角に置換する
Column 複数のファイルを自動処理する
Chapter 9 Pythonで仕事を自動化・効率化しよう!
Section 9-1 エクセルファイルを扱う
Section 9-2 CSVファイルを読み込む
Section 9-3 CSVファイルに書き込む
Section 9-4 データをグラフ化する
Section 9-5 データを分析する
Column openpyxlを利用する
特別付録 オブジェクト指向プログラミングを学ぼう!
Appendix 1 オブジェクト指向プログラミングとは?
Appendix 2 クラスの宣言
Appendix 3 オブジェクトを作る
Appendix 4 オブジェクトに機能を持たせる
Appendix 5 複数のオブジェクトを作る
Appendix 6 リストでオブジェクトを作る
Appendix 7 継承とオーバーライド
Amazonで詳しく見る
紹介文
初心者でも大丈夫!アプリ開発を体験してみよう!
Pythonで
デスクトップアプリ開発を
体験してみよう!
【初心者でもできる!デスクトップアプリ開発を一緒に体験しよう】
Pythonの基礎知識はあるけど、
「アプリ開発って初心者には難しそう」
「プログラムで何か残るものを作ってみたい」
と思っていませんか?
本書はそうした方に向けて、初心者にも簡単に作れる方法を使ってデスクトップアプリ開発の基本をやさしく解説します。スマホアプリ、Webアプリに比べて、手軽に取り組めますので挫折することなく学習できます。本書を読んだあとは、スマホアプリやWebアプリ開発に挑戦してみてください。
【Python2年生について】
「Python2年生」は、「Python1年生」を読み終えた方を対象とした入門書です。ある程度、技術的なことを盛り込み、本書で扱う技術について身につけてもらいます。
『Python2年生 スクレイピングのしくみ』(ISBN:9784798161914)
『Python2年生 データ分析のしくみ』(ISBN:9784798164960)
も刊行されています。
【対象読者】
デスクトップアプリの作り方を知りたい初心者
【本書のポイント】
ヤギ博士&フタバちゃんと一緒に、デスクトップアプリ開発の考え方から丁寧に解説。デスクトップアプリ開発をする時に必要な前提知識からはじまり、デスクトップアプリ作りの基本、応用的なデスクトップアプリ、そしてゲームアプリ開発まで解説します。
【著者プロフィール】
森 巧尚(もり・よしなお)
アプリの開発や、技術書や電子工作マガジンなどでの執筆活動。関西学院大学非常勤講師、関西学院高等部非常勤講師、成安造形大学非常勤講師、プログラミングスクールコプリ講師など、プログラミングに関する幅広い活動を行っている。近著に、『Python1年生 第2版』、『Python3年生機械学習のしくみ』、『Python2年生 スクレイピングのしくみ』、『Python2年生 データ分析のしくみ』、『Java1年生』、『動かして学ぶ!Vue.js開発入門』(いずれも翔泳社)、『楽しく学ぶ アルゴリズムとプログラミングの図鑑』(マイナビ出版)などがある。
第1章 Pythonでアプリを作ろう
LESSON 01 デスクトップアプリってなに?
LESSON 02 Pythonをインストールしよう
LESSON 03 tkinterでアプリを作ろう
LESSON 04 PySimpleGUIでアプリを作ろう
第2章 アプリ作りの基本
LESSON 05 アプリの作り方を理解しよう
LESSON 06 配色を選べるよ
LESSON 07 レイアウトで画面を作ろう
第3章 計算アプリを作ろう
LESSON 08 変数で文字列を作るなら、f文字列が便利
LESSON 09 割り勘アプリ
LESSON 10 BMI値計算アプリ
LESSON 11 出生の秘密アプリ
LESSON 12 干支調べアプリ
第4章 時計アプリを作ろう
LESSON 13 時間を測ろう
LESSON 14 時計アプリ
LESSON 15 ストップウォッチアプリ
LESSON 16 時間割アプリ
第5章 ファイル操作アプリを作ろう
LESSON 17 ファイルの読み書きをしよう
LESSON 18 テキストエディタアプリ
LESSON 19 画像を表示するアプリ
LESSON 20 画像の加工アプリ
LESSON 21 QRコードメーカーアプリ
第6章 ゲームアプリを作ろう
LESSON 22 おみくじアプリ
LESSON 23 じゃんけんアプリ
LESSON 24 足し算ゲームアプリ
LESSON 25 数当てゲームアプリ
LESSON 26 31ゲームアプリ
LESSON 27 これから先は、どうしたらいいの?