【2023最新】「ラズベリーパイ」のおすすめ本!人気ランキング
この記事では、「ラズベリーパイ」のおすすめ本をランキング形式で紹介していきます。インターネット上の口コミや評判をベースに集計し独自のスコアでランク付けしています。
Amazonで詳しく見る
紹介文
手のひらサイズのLinuxパソコン「Raspberry Pi(ラズベリー・パイ)」で電子工作を楽しもう!
本書はRaspberry Piを様々な用途で使いこなすための入門書です。
Raspberry PiはARMベースのシングルボードコンピュータで、LinuxベースのグラフィカルなOSも用意されており、一般的なパソコンのような使い方が可能です。
OSがLinuxベースなので、Webサーバーやファイルサーバーのようなサーバー用途での利用もすぐにできます。
本書では初めてLinuxに触れる方にもわかりやすいように、コマンドの基本的な使い方から解説します。
また、電子工作で必須のプログラミングについても、極めて初歩から解説しています。
本書ではScratch(スクラッチ)とPythonによる解説を行っています。
電子工作では、電子工作で用いる部品の解説や、電気の基礎知識、そして実践方法について詳しく解説します。
LEDの点灯、スイッチによる入力などから、I2C機器、そしてセンサーとカメラなどを組み合わせた応用例まで幅広く解説しています。
書籍内で解説したPythonプログラムは、サポートサイトからダウンロードしてご利用いただけます。本書があれば、Linuxの初心者、電子工作の初心者、プログラミングの初心者でも安心してRaspberry Piを使いこなせます。
前著「これ1冊でできる!ラズベリー・パイ 超入門 改訂第5版」(2018年11月発行)をベースに、昨年発売されたRaspberry Pi 4 Model Bにも対応しました。
Raspberry Pi Zero/ Zero Wはもちろん、現在販売されているGPIOが40ピンのRaspberry Pi全機種が対象です(GPIOが26ピンのRaspberry Pi Model A、Model Bは対象外)。
さらに、4版で紹介した電子部品の中で、入手が困難になっているものなどを刷新しています(そのため前著のお持ちの方は内容が重複している恐れがあります)。
なお、本書の解説内容ではネットワークを利用しますので、LANが利用できる環境を前提に解説しています。
Part1 Raspberry Piとは
Chapter 1-1 Raspberry Piとは
Chapter 1-2 Raspberry Piと周辺機器
Chapter 1-3 Raspberry Piへの給電
Part2 Raspberry Piを動作させよう
Chapter 2-1 起動用microSDカードを用意する
Chapter 2-2 Raspberry Piの初期設定と起動・終了
Part3 Raspberry Piの操作と設定
Chapter 3-1 Raspbian(Linux)の基本操作
Chapter 3-2 Raspberry Piの設定
Chapter 3-3 ネットワークの接続設定
Chapter 3-4 アプリの追加と削除
Chapter 3-5 リモートからのRaspberry Piの操作
Part4 小型Linuxマシンとして利用する
Chapter 4-1 小型クライアントマシンとして使う
Chapter 4-2 小型Webサーバーとして使う
Chapter 4-3 ファイル共有サーバーとして使う
Part5 プログラムを作ってみよう
Chapter 5-1 Raspberry Piで使えるプログラム
Chapter 5-2 Scratchを使ってみよう
Chapter 5-3 Pythonを使ってみよう
Part6 電子回路をRaspberry Piで制御する
Chapter 6-1 Raspberry Piで電子回路を操作する
Chapter 6-2 電子部品の購入
Chapter 6-3 電子回路入門
Chapter 6-4 LEDを点灯・点滅させる
Chapter 6-5 スイッチの状態を読み込む
Chapter 6-6 扇風機を制御する
Part7 I2Cデバイスを動作させる
Chapter 7-1 I2Cで手軽にデバイス制御
Chapter 7-2 アナログ値を入力する
Chapter 7-3 気温・湿度を取得する
Chapter 7-4 有機ELキャラクタデバイスに表示する
Part8 Raspberry Piの応用
Chapter 8-1 着信メールを有機EL画面で通知する
Chapter 8-2 明るくなったら音楽を再生して通知する
Chapter 8-3 人が近づくと自動的に写真をWebサーバーで公開する
Appendix
Appendix-1 Linuxコマンドリファレンス
Appendix-2 電子部品購入可能店情報
Appendix-3 本書で扱った部品・製品一覧
Amazonで詳しく見る
紹介文
大人気のラズパイで電子工作を初歩から学ぼう! 丁寧な解説に沿って手を動かすだけで自然とマスターできる「超定番入門書」の最新版
2016年7月の刊行以来、入門者向けの丁寧な解説が「親切すぎる!」と大好評の『カラー図解 最新 Raspberry Piで学ぶ電子工作』が、Raspberry Pi 4に対応した内容でリニューアル!
電子工作の超初歩的な演習である「Lチカ」(LEDライトをチカチカと点灯させる)から、温度センサ、モーター、液晶ディスプレイなどの超定番パーツを用いる演習、スマホやタブレットとラズパイを連携させた応用演習を通して、ラズパイを使った電子工作を基礎からきっちりと学べます。
演習に用いるPythonのプログラムはダウンロードで!
実際に回路を組む際、見やすくて便利な回路図PDFファイルをダウンロード可能!
演習で使うLEDや抵抗、ブレッドボード、モーターなどのパーツが揃った公式パーツセットを、秋葉原の老舗電子パーツショップ秋月電子通商さんにて販売(通販と店頭)!
http://akizukidenshi.com/catalog/g/gK-15351/
刊行後の更新情報をWebにて発信!
本書は10章構成です。1章では「Raspberry Piとは何か」をその生い立ちから紹介します。2章では、Raspberry Piを使ううえで必要なものを紹介。OSのインストールからセットアップまでを解説します。
3章では、LEDを点灯させる演習で、電流、電圧、抵抗など電子工作に必要な予備知識を学びます。4章では、プログラムを使ってLEDを点滅させ、ラズパイによる電子パーツの制御方法を学びます。5章では、タクトスイッチを使ったLEDの点灯/消灯、6章では、半固定抵抗やセンサを使ったAD変換によるアナログ値の利用法を学びます。7章では、温度計を作る演習でI2Cデバイスの利用法を、8章では、DCモータやサーボモータを使い、PWM(パルス幅変調)の利用法を学びます。9章では、ラズパイをスマホやタブレット、パソコンと連携させ、LEDやモータを制御する演習を行い、WebIOPiという技術の利用法を学びます。10章では、9章で学んだ知識を応用し、スマホから操作できるキャタピラ式模型を作ります。
本書執筆の際、以下の機器やシステムを用いて機能を確認。
・Raspberry Pi……Raspberry Pi 4 Model B、Raspberry Pi 3 Model B+、Raspberry Pi Zero WH(そのほか40ピンのGPIOポートをもつ機種)
・対応するRaspberry Pi 用のOS……Raspberry Pi OS(2020-05-27(Buster))またはRaspbian(2019-04-08(Stretch))
~刊行後の最新OSへの対応方法は、Webにて可能なかぎり行う予定。
1章 Raspberry Piとは何か
2章 Raspberry Pi用のOSのインストール
3章 電子工作の予備知識およびRaspberry PiによるLEDの点灯
4章 プログラミングによるLEDの点滅
5章 タクトスイッチによる入力
6章 AD変換によるアナログ値の利用
7章 I2Cデバイスの利用
8章 PWMの利用
9章 WebIOPiを用いたPCやスマートフォンとの連携
10章 WebIOPiを用いたキャタピラ式模型の操作
付録A ネットワークへの接続
付録B プログラムが記述されたサンプルファイルの利用方法
付録C Thonnyを用いない開発方法
Amazonで詳しく見る
紹介文
Raspberry Piの使い方と電子工作入門書の決定版!写真と図解で解説。初心者でもサンプルコードですぐに実践できます。
手のひらサイズのLinuxパソコン「Raspberry Pi(ラズベリー・パイ)」で電子工作に挑戦しよう!
ラズパイ入門書の決定版の最新第7版が登場!
本書はRaspberry Piを様々な用途で使いこなすための入門書です。Raspberry PiはARMベースのシングルボードコンピュータで、LinuxベースのグラフィカルなOS(Raspberry Pi OS)も用意されており、一般的なパソコンのような使い方が可能です。
OSがLinuxベースなので、Webサーバーやファイルサーバーといったサーバー用途での利用もすぐにできます。本書では初めてLinuxに触れる方にもわかりやすいように、コマンドの基本的な使い方からサーバー構築まで解説します。
また、電子工作で必須のプログラミングについても、極めて初歩から解説しています。本書ではScratch3とPython3による解説を行っています。
電子工作では、電子工作で用いる部品の解説や、電気の基礎知識、そして実践方法について詳しく解説します。LEDの点灯、スイッチによる入力などから、I2C機器、そしてセンサーとカメラにWebサーバーなどを組み合わせた応用例、さらに物体検知ができるMotionの活用まで幅広く解説しています。
書籍内で解説したプログラムは、サポートサイトからダウンロードしてご利用いただけます。本書があれば、Linuxの初心者、電子工作の初心者、プログラミングの初心者でも安心してRaspberry Piを使いこなせます。
前著「これ1冊でできる!ラズベリー・パイ 超入門 改訂第6版」(2020年2月発行)をベースに、最新機種や電子パーツ、64ビット版Raspberry Pi OSにも対応しました。対象のRaspberry Piの機種は、現在販売されているGPIOが40ピンのRaspberry Piの大部分が対象です(GPIOが26ピンのRaspberry Pi Model A、Model BやCompute Module、Raspberry Pi Picoなどは対象外)。前版で紹介した電子部品の中で、入手が困難になっているものなどを刷新しています(そのためこれまでの版をお持ちの方は内容が重複している恐れがあります)。
なお、本書の解説内容ではネットワークを利用しますので、LANが利用できる環境を前提に解説しています。
Part1 Raspberry Piとは
Chapter 1-1 Raspberry Piとは
Chapter 1-2 Raspberry Piと周辺機器
Chapter 1-3 Raspberry Piへの給電
Part2 Raspberry Piを動作させよう
Chapter 2-1 起動用microSDカードを用意する
Chapter 2-2 Raspberry Piの初期設定と起動・終了
Part3 Raspberry Piの操作と設定
Chapter 3-1 Raspberry Pi OS(Linux)の基本操作
Chapter 3-2 Raspberry Piの設定
Chapter 3-3 ネットワークの接続設定
Chapter 3-4 アプリの追加と削除
Chapter 3-5 リモートからのRaspberry Piの操作
Part4 小型LinuxマシンとしてRaspberry Piを利用
Chapter 4-1 小型クライアントマシンとしてRaspberry Piを使う
Chapter 4-2 小型WebサーバーとしてRaspberry Piを使う
Chapter 4-3 ファイル共有サーバーとしてRaspberry Piを使う
Part5 プログラムを作ってみよう
Chapter 5-1 Raspberry Piで使えるプログラム
Chapter 5-2 Scratchを使ってみよう
Chapter 5-3 Pythonを使ってみよう
Part6 電子回路をRaspberry Piで制御する
Chapter 6-1 Raspberry Piで電子回路を操作する
Chapter 6-2 電子部品の購入
Chapter 6-3 電子回路入門
Chapter 6-4 LEDを点灯・点滅させる
Chapter 6-5 スイッチの状態を読み込む
Chapter 6-6 扇風機を制御する
Part7 I2Cデバイスを動作させる
Chapter 7-1 I2Cで手軽にデバイス制御
Chapter 7-2 アナログ値を入力する
Chapter 7-3 気温・湿度を取得する
Chapter 7-4 有機ELキャラクタデバイスに表示する
Part8 Raspberry Piの応用
Chapter 8-1 着信メールを有機EL画面で通知する
Chapter 8-2 明るくなったら音楽を再生して通知する
Chapter 8-3 人が近づくと自動的に写真をWebサーバーで公開する
Appendix 付録
Appendix 1 Linuxコマンドリファレンス
Appendix 2 電子部品購入可能店情報
Appendix 3 本書で扱った部品・製品一覧
Amazonで詳しく見る
紹介文
Raspberry Piで電子部品を自由自在に制御しよう!
本書は、2017年12月に発刊した「電子部品ごとの制御を学べる!Raspberry Pi 電子工作実践講座」の内容をもとに、OSを最新版に更新し、またRaspberry Piの新機種(Raspberry Pi 3 Model A+/B+)への対応などを行った改訂版です。
LEDや各種スイッチ、モーター、ボリューム、各種センサー、表示用デバイス(7セグメントLEDやキャラクターディスプレイ)など、電子パーツごとのRaspberry Piでの制御方法を学べます。豊富な写真や図解を用いて実例を挙げながら解説しているので、初心者や電子工作に躓いた人でも安心して取り組めます。さらにLinux上でのコマンド操作やテキストファイル編集、パッケージ管理、そしてはんだ付けなどについても解説。書籍内で解説したプログラムコードは、全てダウンロード提供します。
Raspberry Pi 1+/2/3(A+/B/B+)/Zero/Zero W(GPIO 40ピンのRaspberry Pi)に対応!
Chapter 1 Raspberry Piの準備
Section 1-1 Raspberry Piとは
Section 1-2 Raspberry Piの準備と初期設定
Section 1-3 Raspbianの基本設定
Chapter 2 Raspberry Piのインタフェースと入出力
Section 2-1 Raspberry Piのインタフェース
Section 2-2 Raspberry Piの入出力について
Section 2-3 PWM(疑似的アナログ出力)
Section 2-4 アナログ入力(A/Dコンバータ)
Section 2-5 デジタル通信方式(1)─I2C通信方式
Section 2-6 デジタル通信方式(2)─SPI通信方式
Section 2-7 デジタル通信方式(3)─UART通信方式
Chapter 3 LED(発光ダイオード)
Section 3-1 LEDを点灯・制御する
Section 3-2 LEDの明るさを調節する
Section 3-3 GPIOの制限を超える高輝度LEDを点灯・制御する(トランジスタ制御)
Section 3-4 フルカラーLEDを制御する
Chapter 4 各種スイッチ
Section 4-1 スイッチの状態を読み取る
Section 4-2 2端子のスイッチで入力する
Section 4-3 扉や箱が開いたことをスイッチで調べる
Chapter 5 A/Dコンバータ
Section 5-1 A/Dコンバータでアナログ入力を行う
Section 5-2 ボリュームからの入力
Chapter 6 モーター・サーボモーター
Section 6-1 モーターを回転させる
Section 6-2 DCモーターの回転方向と回転数を制御する
Section 6-3 モーターを特定の角度まで回転させる
Chapter 7 各種センサー
Section 7-1 明るさを検知する光センサー
Section 7-2 熱源を検知する焦電赤外線センサー
Section 7-3 特定の位置に達したことを検知するセンサー
Section 7-4 温度、湿度、気圧を計測するセンサー
Section 7-5 加速度を検知する加速度センサー
Section 7-6 距離を計測する距離センサー
Chapter 8 数字や文字などを表示するデバイスの制御
Section 8-1 数字を表示する(7セグメントLED)
Section 8-2 複数の数字を表示する
Section 8-3 ドットで絵を表示する(マトリクスLED)
Section 8-4 文字を表示する(キャラクターディスプレイ)
Chapter 9 ブザー
Section 9-1 ブザーで警告音を発する
Appendix 付録
Appendix 1 電子工作に必要な機器・部品
Appendix 2 はんだ付け
Appendix 3 電子回路への給電について
Appendix 4 コマンド操作とテキスト編集
Appendix 5 パッケージの管理
Appendix 6 プログラム作成の基本
Appendix 7 本書で利用した電子部品
Amazonで詳しく見る
紹介文
Python3に完全対応!!
お待たせしました! 大好評「みんなのRaspberry Pi入門」シリーズの第4版です。
「Raspberry Pi3」はもちろん、「Python3」にも対応させました!! 進化のとどまるところを知らないRaspberry Piは、最新OSのコードネームも「jessie」から「Stretch」へ、開発環境「IDLE」も「Thonny」に移行! すべてに対応した最新刊です。
本書の大きな特徴は、次の2つです。
1.写真と図で、本当に必要なもの、メンテナンスの方法などを丁寧に解説しました。
2.Raspberry Piの公式言語である「Python3」をしっかり、分かりやすく解説しました。
プログラミング未経験の方でもチャレンジいただけるよう、Pythonに限定しない形でのプログラミングの基礎と基本的な作法について、多くの紙面を割いております。
まさに入門者にピッタリの一冊です。
Amazonで詳しく見る
紹介文
手のひらサイズのLinuxパソコン「Raspberry Pi(ラズベリー・パイ)」で電子工作をはじめよう!
Raspberry Piの概要(バージョンや各部名称など)、入手やOSのセットアップ方法などの基本的なことから、省電力小型クライアントマシンとしての利用、有線・無線LAN設定、Linuxサーバー(Web、ファイルサーバー)の構築など、Raspberry Piを「Linuxマシン」として利用する方法を解説。さらに、電子工作に関心のある方へ向けて、プログラミングの基本、電気や工作に関する基本的な知識と実践、I2Cデバイスの制御、インターネットサービスを利用した応用まで網羅的に解説します。
初心者でも分かりやすいように、すべての作業をフルカラーの写真やイラストで徹底図解しました。なお、書籍内で解説したプログラムは、サポートサイトからダウンロードしてご利用いただけます。本書があれば、Linuxの初心者、電子工作の初心者、プログラミングの初心者でも安心してRaspberry Piを使いこなせます。
前著「これ1冊でできる!ラズベリー・パイ 超入門 改訂第4版」(2017年6月発行)をベースに、今年発売されたRaspberry Pi 3 Model B+にも対応しました。Raspberry Pi Zero/ Zero Wはもちろん、現在販売されているGPIOが40ピンのRaspberry Pi全機種が対象です(GPIOが26ピンのRaspberry Pi Model A、Model Bは対象外)。さらに、4版で紹介した電子部品の中で、入手が困難になっているものなどを刷新しています(そのため前著のお持ちの方は内容が重複している恐れがあります)。なお、本書の解説内容ではネットワークを利用しますので、LANが利用できる環境を前提にしています。
Part1 Raspberry Piとは
Part2 Raspberry Piを動作させよう
Part3 Raspberry Piの操作と設定
Part4 小型Linuxマシンとして利用する
Part5 プログラムを作ってみよう
Part6 電子回路をRaspberry Piで制御する
Part7 I2Cデバイスを動作させる
Part8 Raspberry Piの応用
Appendix
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はオブジェクト指向型の言語で、初学者向けでも文法解説だけでは物足りないと感じることが多いでしょう。本書では「チャットボットの開発を軸に文法的なものを学ぶ」スタイルをメインに、巻末ではディープラーニングについても学ぶことができます。
Anaconda、Jupyter Notebook、Spyderを使用し、Qt Designerでの解説をしていますので、それらの使い方も身に付きます。
第3版となる本書では、Web API、ライブラリを最新のものに対応するとともに、画像認識についてより高度な手法を追加しています。
Chapter 0 いま、なぜPythonなのか
0.1 そもそもPythonって何のためのものなの?
0.1.1 まずは「Pythonって何?」
0.1.2 Pythonって他のプログラミング言語と何が違うの?
Pythonは書いたらすぐに実行できる「インタープリター型言語」
Memo プログラミング言語
0.2 PHP、Ruby、Perlがあるのに、なぜPythonなの?
0.2.1 日本語対応もしっかり!
0.3 どうしてPythonはプログラミングの学習に向いてるの?
0.3.1 Pythonが褒められる2つの理由
Pythonには面倒な手続きが少ない
「プログラマーの頭」になるための近道
0.4 Pythonのコードが読みやすいって、どんなふうに?
0.4.1 階乗を求めるプログラムで比べてみよう
0.5 結局のところPythonで何が作れるの?
0.5.1 具体的にソフトウェアとしてはどんなものが作られているの?
統合開発環境
Memo Pythonは書いたらすぐに実行できるインタープリター型言語
Webフレームワーク
科学/数学用のライブラリ
ディープラーニング用のライブラリ
0.6 Pythonが使えると、この先どんなメリットがあるのかな?
0.6.1 Pythonのイイところ 1「ビッグな実績があるんです」
0.6.2 Pythonのイイところ 2「強力なフレームワークがいっぱいあるんです」
0.6.3 Pythonのイイところ 3「やっぱ需要はJavaの方が上でしょ?」
Onepoint 実は「儲かる」Pythonプログラマー
0.7 ところでPythonでアプリを作って何がウレシイの?
Pythonにはイイことがいっぱい
0.8 Pythonプログラミングをゼロからスタート!
なるべく順番に読んでほしいけど、好きなところから始めてもかまいません!
Chapter 1 Pythonを使えるようにしてプログラミングを始めよう(環境構築とソースコードの入力)
1.1 PythonをダウンロードしてPCにインストールしよう
1.1.1 PythonをダウンロードしてWindowsマシンにインストールしよう
Python3.x.xのダウンロードとインストール
1.2 IDLE (Python GUI)を起動してPythonを動かしてみよう
1.2.1 Pythonの開発ツール「IDLE」でプログラムを実行してみよう
IDLEを起動して「Hello world!」プログラムを実行する
Memo Pythonのバージョン
Memo Macへのインストール
1.2.2 もっとプログラムらしいことをやってみよう
Pythonのプログラム用ファイルを作る
Memo 外部ライブラリ
保存したプログラムを実行する
1.2.3 さらにプログラムらしいことをやってみよう(アプリの画面を作る)
専用の画面を持つプログラムを作ってみる
Hint 本書で使う標準ライブラリ以外のライブラリ
Memo Pythonのロゴ
1.3 Anacondaをインストールして開発環境を用意する
1.3.1 Anacondaのダウンロードとインストール
macOSの場合
1.3.2 アプリを開発するための仮想環境を構築しよう
好きな名前を付けて仮想環境を構築しよう
1.3.3 Jupyter Notebookことはじめ
Jupyter Notebookを仮想環境にインストールする
Notebookを作成してソースコードを入力してみよう
Notebookを保存して改めて読み込んでみよう
Memo Jupyter Notebookのコマンド
Jupyter Notebookを便利に使う
1.3.4 Spyderことはじめ
Spyderを仮想環境にインストールする
Chapter 2 Pythonプログラムの材料(オブジェクトとデータ型)
2.1 データのかたち(データ型)
2.1.1 プログラムとデータは別のもの(リテラル)
値(リテラル)の姿
Memo プログラムを書くときにハマりやすいこと
2.1.2 整数も小数も正も負も(数値型)
数値型
2.1.3 文字も文字列も(文字列型)
文字列リテラル
Hint 「'」と「"」のどっちがいい?
2.1.4 データではない文字列(コメント)
ソースコードのメモ書き「コメント」
2.1.5 YesかNoだけ(ブール〈bool〉型)
真偽リテラル
2.1.6 「値そのものが存在しない」は「None」
何もないことを示す特殊なリテラル「None」
2.2 オブジェクトと変数
2.2.1 オブジェクトを捕まえろ!
プログラムのデータはすべてオブジェクトになる
オブジェクトには関数(メソッド)が結び付けられている
2.2.2 3回続けてあいさつしてみよう??変数への代入
代入した値のデータ型は変更できないけれど値そのものを書き換えることはできる
Memo 変数名を付けるときのルール
Hint 変数名の命名規則
2.3 変数を使っていろんな計算をする
2.3.1 「入力した値を2倍にしてあげるよ」(算術演算子)
計算をさせるための記号、算術演算子
変数を使って演算する
単項プラス演算子(+)、単項マイナス演算子(?)
2.3.2 「x='僕の名前はPythonです'」(代入演算子)
代入演算子による値の代入
複合代入演算子による式の簡略化
多重代入
2.3.3 どこから手を付ける?(演算子の優先順位)
演算子には優先順位があるけれど()でコントロールできる
Memo 演算子の優先順位
2.4 文字列や数値をPythonの道具で自在に操ろう(関数、メソッド)
2.4.1 Pythonの道具(関数、メソッド)
print()関数ってどこから呼んできたの?
2.4.2 整数型への変換と浮動小数点数型への変換
整数以外の値をint型に変換する
浮動小数点数型(float型)への変換
Hint リテラルも変数もみんなオブジェクト
Hint 小数を含むstr型の「数字」をfloat型にする
2.4.3 え! 文字が逃げる?(エスケープシーケンス)
自動エコーとprint()関数による出力結果の違い
「\」で文字をエスケープすれば改行やタブを入れられる
2.4.4 「"こん" + "にちは"」「ようこそ *4」(文字列の連結と繰り返し)
文字列を連結したり繰り返したりする
2.4.5 会話文の中から必要な文字だけ取り出そう
[ ]で1文字抽出する
[:]や[: :]で文字列を切り出す
2.4.6 関数やメソッドを使えば文字列の分割、結合、置換、いろいろできる
len()関数で文字列の長さを調べる
split()メソッドで文字列を規則的に切り分ける
join()メソッドで文字列をジョイント!
replace()メソッドで文字列の一部を置き換える
format()メソッドで文字列を自動作成
Tips 逆さ言葉を答えてみよう
2.4.7 初恋したのはいつ?(input()関数)
コンソール上で入力された文字列はinput()関数で取得
2.4.8 あなたの標準体重は?
BMI(体格指数)を使って標準体重を計算してあげよう
Memo そのほかの便利な文字列操作関数
Chapter 3 条件分岐と繰り返し、関数を使う
3.1 テニスの攻撃パターンをシミュレートする
3.1.1 同じ技を10回繰り出す(forによる繰り返し)
スマッシュを連続10回繰り出す
3.1.2 2つの技を交互に繰り出す(ifによる条件分岐)
スマッシュとストロークを交互に繰り出す
Memo rangeオブジェクト(1)
Memo True/Falseと真/偽
3.1.3 3つの技を織り交ぜる(if...elif...else)
ifにelifを加えて条件を2つに増やす
ifの条件式を書く順番に気を付けよう
3.1.4 攻撃のパターンをランダムにしよう
randomモジュールを使って疑似乱数を発生させる
3.2 もう1つの繰り返し技(whileによる繰り返し)
3.2.1 条件がTrueの間は繰り返すよ
スマッシュを連続10回繰り出す
3.2.2 ピティナ、入力された言葉を再生する
相手の言葉をそのまま再生、'さよなら'で終了
3.3 リスト
3.3.1 4種類のストロークを順に繰り出す(リスト)
リストで複数のオブジェクトをまとめて管理
インデックシング
スライス
イテレーション
リストの更新
Memo rangeオブジェクト(2)
2つのリストをforで処理してみる
リストのリスト
Memo リストの操作
リストの中に要素製造装置を入れる(内包表記)
3.3.2 いわゆる「定数リスト」(タプル)
タプルの使い方
3.4 辞書と集合
Memo リスト要素をランダムに抽出する
3.4.1 ボールを打ったら音を出す(名前と値のペア)
辞書(dict)型
イテレーションアクセス
Memo 辞書に使えるメソッド
複数のシーケンスのイテレート
3.4.2 要素の重複を許さない集合
まずは集合を作ってみる
集合を使って重複した要素を削除する
3.5 装置を作る(関数)
3.5.1 呼び出すと擬音を付けてくれる関数
パラメーターの指定
デフォルトパラメーター
Memo デフォルトパラメーターの使いどころ
Hint リストをデフォルトパラメーターにするときの注意
伸縮自在のパラメーター
キーと値がセットになったパラメーター
関数オブジェクトと高階関数
関数内関数とクロージャー
小さな関数は処理部だけの「式」にしてしまう(ラムダ式)
Onepoint ラムダ式はいろんなプログラミング言語で使われている
ジェネレーター
Onepoint ジェネレーターの内部的な処理
デコレーター
Chapter 4 オブジェクト、そして人工知能へ向けての第一歩
4.1 オリジナルのオブジェクト
4.1.1 「鬼コーチオブジェクト」登場!(クラスの作成)
オリジナルのクラス = オブジェクト
Memo 「オブジェクト」と「インスタンス」
4.1.2 「鬼コーチ」を呼んでこよう(オブジェクトの生成)
MyCoachクラスからMyCoachオブジェクトを作る
Memo メソッドと関数って何が違うの?
4.1.3 打ち返した回数を覚えておいてもらおう(クラス変数)
オブジェクト同士で共有するクラス変数
クラス変数を外部で初期化する
teach()をクラスメソッドに変更する
Memo メソッドやクラス変数を動的に追加する
4.1.4 大事な変数は隠しておこう(カプセル化)
インスタンス変数へのアクセスはすべてプロパティ経由にする
プロパティを使うことに意味はあるの?
4.2 ほんとに知能?
4.2.1 人工知能って何? えっ知能? 無脳?
絶妙トークは続く
ピティナ、君は人工ピーポー?
Pitynaオブジェクトの動作原理
Pitynaクラスと応答クラス
Memo ソースコードのドキュメント化
4.2.2 最初のピティナ
Spyderを起動して開発の準備をしよう
ピティナ、オウム返しボットバージョン
4.2.3 「オウム返し」+「ランダム応答」の2本立てで反応する(継承とオーバーライド)
ピティナ・バージョン2の実行モジュール「prototype.py」
Memo モジュール(Pythonファイル)の取り込み
Pitynaクラスのモジュール「pityna.py」
応答オブジェクトのモジュール「responder.py」
Memo RepeatResponderへの切り替え
Memo 自然言語処理って何をするの?
Chapter 5 ピティナのGUI化と[人工感情]の移植
5.1 GUI版ピティナ
5.1.1 ピティナをGUIモジュールに移植するよ
まずはQt Designerを呼んでこよう
5.1.2 メインウィンドウを作成してウィジェット(widget)を配置しよう
メインウィンドウを作成する
Hint UI画面の開発は手打ち派? それともUIデザイナー派?
ログを表示するためのリストを配置する
応答クラス名の表示/非表示切り替え用のラジオボタンを配置する
会話入力用のテキストボックスを配置する
メッセージの送信ボタンを配置する
ピティナの応答領域、ラベルを配置する
ピティナのイメージを表示する
メニューを使う
5.1.3 イベント駆動の仕組みを実装しよう
ボタンクリックで駆動する仕組みを作ろう
ラジオボタンのオン/オフで駆動する仕組みを作ろう
メニューの[閉じる]選択で駆動する仕組みを作ろう
5.1.4 XML?Pythonモジュールへのコンバート
コマンドラインツール「pyuic5」でコンバートする
コンバート専用のプログラムを作る
リソースファイル(.qrs)をPythonにコンバートする
Memo コマンドをAnacondaのターミナルから実行する
Attention リソースファイルの名前に注意!
5.1.5 GUI版ピティナプログラムの開発
プログラムの起点、「main.py」モジュールを用意する
UI画面を構築する「mainWindow.py」モジュールを用意する
ピティナの本体「pityna.py」を用意する
応答クラスの「responder.py」モジュールを用意する
すべてのモジュールを確認してピティナを起動してみよう
5.1.6 Responderをランダムに切り替える
応答時にRandomResponderとRepeatResponderをランダムに実行する
5.2 辞書を小脇に
5.2.1 ファイルのオープンと読み込み
ファイルの中身を読み込んで画面に出力してみよう
ピティナ、辞書を読み込む
Memo ユニバーサル改行コード
5.3 ピティナ、パターンに反応する
5.3.1 正規表現ことはじめ
正規表現のパターン
パターン辞書ファイルを作ろう
5.3.2 「パターン辞書」「ランダム辞書」「オウム返し」の三つどもえの反応だ!
match()とsearch
Dictionaryクラス
Responderクラス
Pitynaクラス
5.4 感情の創出
5.4.1 ピティナに「感情」を与えるためのアルゴリズム
感情の「揺れ」はパラメーター値を変化させる仕組みで実現
Onepoint 感情の揺れをパラメーター値で表す
感情の表現はイメージを取り換えることで伝える
5.4.2 パターン辞書の変更
パターン辞書のフォーマットを変更
Memo プログラムをダブルクリックで起動する方法
5.4.3 感情モデルの移植(Emotionクラス)
機嫌値を管理するEmotionクラス
5.4.4 感情モデルの移植(Dictionaryクラス)
パターン辞書の各行をPatternItemオブジェクトとして保持する
Memo 応答メッセージをテキストエディットに出力する
5.4.5 感情モデルの移植(Patternltemクラス)
パターンや応答例から機嫌変動値を取り出す
PatternItemクラスの__init__()によるオブジェクトの初期化
match()、choice()、suitable()の追加
5.4.6 感情モデルの移植(Responderクラス、PatternResponderクラス、Pitynaクラス)
ResponderクラスとRepeatResponder、RandomResponderの修正
パターン辞書を扱うPatternResponderクラスの修正
Memo ピティナプログラムのモジュール
5.4.7 感情モデルの移植(ピティナの本体クラス)
5.4.8 ピティナ、笑ったり落ち込んだり
プログラム開発前の準備
Qt Designerを起動してリソースファイルを作ろう
UI形式ファイルとQRC形式ファイルのコンバート
感情の揺らぎを表情で表す
Chapter 6 「記憶」のメカニズムを実装する(機械学習)
6.1 機械学習のススメ
6.1.1 まるごと覚える
辞書の学習を実現するためにクリアすべき課題
「学習メソッド」と「記憶メソッド」の追加
ピティナの本体クラスの修正
プログラム終了時の処理
6.2 形態素解析入門
6.2.1 形態素解析モジュール「Janome」の導入
「PyPI」はPythonライブラリの宝庫
pipコマンドで「Janome」をインストールする
Attention pipコマンドでのインストール
「Janome」で形態素解析いってみよう
Memo datetimeモジュール
6.2.2 キーワードで覚える
形態素解析を行うanalyzerモジュールを作ろう
ピティナの本体クラスを改造する
Dictionaryクラスを改造する
Memo Dictionaryクラスのメソッド
パターン辞書ファイルへの保存
Onepoint with文
PatternItemクラスのadd_phrase()とmake_line()
形態素解析版ピティナと対話してみる
6.3 テンプレートとして覚える
6.3.1 テンプレート学習用の辞書を作ろう
ピティナプログラムに必要なファイル一式
テンプレート辞書の構造
Attention ピティナの応答エリアをテキストエディットに変更する
6.3.2 Dictionaryクラスの改造
テンプレート辞書ファイルへの保存
Responderクラス群の新入り、TemplateResponderクラス
Pitynaクラスの変更
テンプレート学習を実装したピティナと対話してみる
Chapter 7 マルコフ連鎖で文章を作り出す
7.1 無限のサル定理をマルコフ連鎖で実証する
7.1.1 マルコフ連鎖を使って文章を生成する
単語がつながっていくときの法則
マルコフ連鎖、マルコフモデルとは
7.1.2 3単語プレフィックスのマルコフ辞書
「わたしが好きなプログラムの女の子です。」って?
7.1.3 マルコフ辞書の実装
形態素解析とファイルの読み込み
マルコフ辞書の作成
マルコフ辞書から文章を作り出す
Memo マルコフ連鎖
Memo もとになる文章量が少ないと文章が作れないことがある
重複した文章を取り除く
プログラムを実行して文章を作ってみる
Hint 著作権の切れた作品を公開する青空文庫
7.2 マルコフ連鎖を利用した会話ボットの作成
7.2.1 小説を題材にマルコフ連鎖で生成した文章で応答する
Markovクラス
7.2.2 入力した文字列に反応するようにしてみる
markov_botモジュールの改造
入力した内容にマルコフ辞書が反応するか確かめる
Memo マルコフ連鎖の活用例
7.3 ピティナ、マルコフ辞書を使う
7.3.1 マルコフ連鎖文を生成するMarkovクラス
Markovクラス
7.3.2 Pitynaクラスの改造
Pitynaクラス
7.3.3 Responderに新たに加わったサブクラスMarkovResponder
MarkovResponderクラス
7.3.4 DictionaryクラスにmakeMarkovDictionary()メソッドを追加
Dictionaryクラス
7.3.5 マルコフ辞書を手にしたピティナ、その反応は?
最後に処理の流れを確認しておこう
Chapter 8 インターネットアクセス
8.1 外部モジュール「Requests」を利用してネットに接続する
8.1.1 外部モジュール「Requests」
Requestsのインストール
8.1.2 Yahoo! JAPANにアクセスしてみよう
Requestsを利用してWebサイトにアクセスする
レスポンスメッセージからデータを取り出すメソッド
8.1.3 Web APIで役立つデータを入手
Webサービスを利用するためのWeb API
NTTドコモが提供しているWeb APIがオモシロイ
8.2 Requestsでネット上の情報を収集しよう
8.2.1 天気予報のWebサービス「OpenWeatherMap」を利用する
「OpenWeatherMap」の無料アカウントを取得する
5日間/3時間ごとの天気予報を取得するためのURLを作ろう
requestsのget()で天気予報をゲット!
Memo Weather APIの呼び出し回数の制限
8.2.2 ウィキ(Wiki)るプログラム
MediaWikiのAPI
Wikipediaから情報を収集しよう
8.2.3 「Yahoo!ニュース」のヘッドラインを取得してみよう
スクレイピング専用のBeautifulSoup4モジュール
Memo Twitterの開発者向けサイト
BeautifulSoup4で「Yahoo!ニュース」のRSSをスクレイピング
8.2.4 ピティナ、ネットにつながる
ピティナが今日から5日後までの天気を教えてくれる
mainWindowモジュールの改造
Webにつながるピティナを実行してみる
Memo 「OpenWeatherMap」で無料で利用できるWebサービス
Memo WebサービスのGoogle Colabを便利に使おう!
Chapter 9 ピティナ、ディープラーニングで画像認識に挑戦!
9.1 ディープラーニングと言えばPythonなのです
9.1.1 ディープラーニングっていったい何?
ニューラルネットワークのニューロン
9.2 認識率98%の高精度のニューラルネットワークを作る
9.2.1 Kerasライブラリをインストールして「手書き数字」の画像データを用意しよう
Kerasを仮想環境にインストールしよう
Memo TensorFlowのインストールができないときの対処法
Memo matplotlib.pyplot.imshow()
Memo Matplotlibのインストール方法
9.2.2 ニューラルネットワークをプログラミングする
入力層をプログラミングしよう
第1層(隠れ層)をプログラミングしよう
ドロップアウトを実装しよう
第2層(出力層)をプログラミングしよう
バックプロパゲーションを実装しよう
ディープラーニングを実行して結果を評価しよう
Memo ディープラーニングの結果が保存されたファイル
9.3 ディープラーニング版ピティナ
9.3.1 ディープラーニング版ピティナ開発の概要です
ディープラーニング版ピティナの開発手順
9.3.2 ピティナAIの画面の開発
フォーム(メインウィンドウ)のプロパティを設定する
3個のラベルを配置してプロパティを設定する
[閉じる]メニューの設定
Onepoint pixmapプロパティでリソースファイルからイメージを取り込む手順
UI画面をPythonモジュールにコンバートする
9.3.3 ピティナAIをプログラミングしよう
ピティナAIを起動するモジュール
UI画面を生成するモジュールを作成しよう
ほんとにAI? ピティナ本体をプログラミングする
ピティナAI、手書きの数字を認識する
9.4 ピティナ、ファッションアイテムを92%の高確率で識別する
9.4.1 ファッションアイテムのデータセットとは何ぞや?
9.4.2 畳み込みニューラルネットワークの仕組みをさらっと紹介
2次元フィルター
ゼロパディング
プーリング
訓練データにばかり適合するのを避けるための「正則化」
プーリング層とドロップアウトを備えた畳み込みネットワークの構築
9.4.3 Fashion-MNISTデータを読み込んで学習する
「LearnMNIST.py」を畳み込みネットワーク版に改造してファッションアイテムを学習する
9.4.4 ピティナの本体モジュール「pityna.py」を改造する
pityna.pyの一部を書き換える
ピティナAI、ファッションアイテムを判別する
Appendix 1 Pythonの標準ライブラリ
shutil(高水準のファイル操作)
timeit(小さなコード断片の実行時間計測)
collections(コンテナデータ型)
datetime(基本的な日付型と時間型)
Appendix 2 Pythonの外部ライブラリ
データベース
ゲーム開発
GIS(位置情報システム)
GUI
画像処理
Web開発
Amazonで詳しく見る
紹介文
はじめての人も最大限Raspberry Piを楽しめるやさしいガイドです。 Raspberry Piの人気の用途、デスクトップ、サーバー、プログラミング、電子工作がこれ一冊で全部わかります。カラーイラスト掲載&写真やスクリーンショット多数ではじめての方も学びやすいです。
Raspberry Pi 4&Raspberry Pi OSに完全対応。3B+/3Aも解説しています。
Raspberry Pi はじめてガイド[Raspberry Pi 4完全対応]『目次』
第1章 Raspberry Piをはじめよう
1-1 Raspberry Piの世界にようこそ
Raspberry Piとは
Raspberry Piの特徴
Raspberry Piの各部紹介
1-2 Raspberry Piのラインナップ
主要モデルのスペック表
主要モデルの特徴
1-3 本書でRaspberry Piを楽しむために必要なもの
パソコンやサーバーとして使ううえで必要なもの
電子工作をするうえで必要なもの
1-4 チェックしておきたいRaspberry Piアクセサリー
主要なRaspberry Piアクセサリー
第2章 OSを入れよう
2-1 Raspberry PiのOSを知ろう
Raspberry Piで使えるOSの種類
Raspberry Pi OSの特徴
2-2 OSを用意しよう
OSを起動するしくみ
Raspberry Pi Imagerでインストールしよう
2-3 Raspberry Piを起動しよう
Raspberry Piを起動しよう
2-4 初期設定と動作確認を行おう
初期設定を行おう
動作確認を行おう
Raspberry Piを終了しよう
2-5 ネットワークを設定しよう
Wi-Fiに接続しよう
固定IPアドレスを設定しよう
第3章 デスクトップパソコンとして活用しよう
3-1 Raspberry Piとデスクトップパソコン
デスクトップパソコンとしての活用を支える要素
GUIとCLI
3-2 デスクトップOS/サーバーOSの考え方
デスクトップOSの場合
サーバーOSの場合
3-3 GUIの基本操作
Raspberry Pi OSの画面構成
アプリケーションを起動しよう
アプリケーションを終了しよう
アプリケーションの画面を最大化/最小化しよう
複数のアプリケーションを切り替えよう
3-4 フォルダとファイルの基本操作
ファイルマネージャーの画面構成
表示するフォルダを変更しよう
フォルダを作成してファイルを移動させよう
ファイルをコピー/削除しよう
「ゴミ箱」のファイルをもとに戻そう
3-5 アプリケーションを使いこなそう
アプリケーションを使ってみよう
アプリケーションをインストールしよう
アプリケーションをアンインストールしよう
アプリケーションのショートカットをデスクトップに作成しよう
アプリケーション・ランチャーにショートカットを追加しよう
アプリケーション・ランチャーのショートカットを管理しよう
3-6 Raspberry Pi OSの設定を変更しよう
文字などの表示サイズを変更しよう
パスワードを変更しよう
ディスプレイの解像度を設定しよう
壁紙を変更しよう
メニューバーの設定を変更しよう
3-7 Raspberry Piでゲームをプレイしよう
Minecraft Piを起動しよう
プレーヤーを動かそう
ブロックを操作しよう
第4章 サーバーとして利用しよう
4-1 Raspberry Piとサーバー
サーバーとクライアント
Raspberry Piで動くLinuxはサーバー用途が得意
サーバーを動かすために必要なもの
4-2 Raspberry Piのコマンドの基本操作
サーバー操作はCLIがメイン
CLI用のターミナルを立ち上げよう
コマンドの基礎知識
表示と移動から覚えよう
現在のRaspberry Piの情報を取得しよう
コマンドを組み合わせよう
アプリケーションをインストール/更新しよう
4-3 WebサーバーでWebサイトを表示しよう
Webブラウザでアクセスできるサーバーを作ろう
サーバーへの接続に必要な情報を集めよう
サーバーを起動しよう
表示するWebサイトを用意しよう
4-4 ファイルサーバーとして利用しよう
ファイルを保存するためのサーバーを作ろう
Sambaをインストールしよう
Sambaの設定をしよう
手元のパソコンからSambaを覗いてみよう
外部ストレージを接続しよう
4-5 手元のパソコンからサーバーにアクセスしよう
手元のパソコンからサーバーにアクセスできるSSH
SSHを設定して動かそう
4-6 さらに高度なサーバー
写真や動画を楽しむメディアサーバー
自動バックアップサーバー
スマートホームデバイス化
第5章 プログラミングを楽しもう
5-1 Raspberry Piとプログラミング
プログラミングは今注目のスキル
Raspberry Piはプログラミングに最適
プログラミングに必要なものを知ろう
5-2 Pythonを動かそう
プログラミング言語Python
はじめてのプログラムに挑戦しよう
プログラムで計算してみよう
文字列を操作してみよう
プログラムをファイルに保存してみよう
条件分岐とくり返し
日付情報を表示してみよう
5-3 インターネットから情報を取得しよう
ライブラリとpip3コマンド
インターネット上の情報を取得しよう
取得した情報を見やすく表示しよう
5-4 サーバーをプログラミングしよう
フレームワークFlaskとは
Flaskをインストールしよう
Webアプリケーションを作成しよう
動的コンテンツにチャレンジしよう
テンプレートエンジンを使ってみよう
5-5 AIの技術「機械学習」も試そう
PythonとAI
TensorFlowをインストールしよう
TensorFlowの動作確認をしよう
チュートリアルのサンプルを試そう
5-6 Raspberry Piにあるたくさんのプログラミング環境
Scratch
Ruby
統合開発環境(IDE)
第6章 電子工作に挑戦しよう
6-1 Raspberry Piと電子工作
Raspberry Piで電子回路を制御するしくみ
GPIOと各端子
PythonによるGPIOの基本操作
ブレッドボード
ジャンパーワイヤー
6-2 電子回路の基礎知識
電源と素子
電圧と電流
抵抗とオームの法則
回路図の基本
6-3 LEDを光らせよう
LEDと抵抗の基本
電子回路を確認しよう
組み立ててLEDを光らせよう
6-4 LEDの光らせ方をプログラミングしよう
プログラムでLEDのオン/オフを制御しよう
電子回路を確認しよう
電子回路を組み立てよう
PythonでLEDを点灯させよう
PythonでLEDを点滅させよう
LEDの明るさを調節しよう
6-5 センサーで物までの距離を測ろう
距離を測る超音波センサー
電子回路を確認しよう
電子回路を組み立てよう
Pythonで距離を測定しよう
6-6 一定の距離まで近付いたときにLEDが光るようにしよう
LEDとセンサーを組み合わせよう
電子回路を確認しよう
電子回路を組み立てよう
Pythonでプログラミングしよう
6-7 カメラで画像を撮影しよう
近付いたらカメラで自動撮影するようにしよう
焦電型赤外線センサーとカメラモジュール
カメラモジュールを設定しよう
電子回路を確認しよう
電子回路を組み立てよう
プログラムを作成しよう
6-8 もっと電子工作
暗くなったら自動で光るライト
熱中症の危険度を知らせるLED
別の部屋から操作できるリモコン
侵入者を教えてくれる防犯カメラ
パーツリスト
索引
Amazonで詳しく見る
紹介文
Raspberry Piユーザーの疑問に答えるレシピ集。270本のレシピで幅広いニーズに応える。サンプルコードを豊富に収録。
Raspberry Pi 4対応!Raspberry Piのあらゆる疑問に答えるレシピ集!
Raspberry Piユーザーのハードウェア、ソフトウェア双方のあらゆる疑問に答えるためのレシピ集。最新の「Raspberry Pi 4」に対応し、第2版からサウンドやホームオートメーションの新章を追加。ハードウェアとOS、ネットワーク接続、Pythonプログラミングの基本から、GPIO、モーター、センサー、ディスプレイ、コンピュータビジョン、IoT、Arduinoの連携まで、約270本のレシピで幅広いニーズに応えます。すぐに使えるサンプルコードや回路図を豊富に収録。
Raspberry Piユーザーの疑問に答えるレシピ集。270本のレシピで幅広いニーズに応える。サンプルコードを豊富に収録。
Amazonで詳しく見る
紹介文
プログラミング初心者向けPython入門書。5年ぶりの改訂版でPython3.9.0に対応。新機能追加でボリュームアップ。
実践を見据えた本格的な入門書の改訂版!
プログラミング初心者を対象としたPythonの総括的な入門書で、前提知識がなくても取り組むことができます。プログラミングとPythonの基礎から、データベース処理、Webプログラミング、ネットワークプログラミング、初歩の並列処理といった応用までわかりやすく丁寧に解説します。「入門Python 3」の5年ぶりの改訂版でPython3.9.0に対応、f文字列などの新機能が追加され大幅にボリュームアップしています。
プログラミング初心者向けPython入門書。5年ぶりの改訂版でPython3.9.0に対応。新機能追加でボリュームアップ。
Amazonで詳しく見る
紹介文
話題のラズパイを使った電子工作の初歩から学べる定番入門書の最新版。フルカラー紙面で配線図などが見やすくなり演習がやりやすい!
丁寧な解説が好評の『Raspberry Piで学ぶ電子工作』が全ページカラーでリニューアル! 電子工作の超定番からスマホやタブレットと連携させる応用まで。さまざまな演習を通して話題のラズパイを使った電子工作をきっちり学べます。掲載内容は16年5月時点のもので、刊行後の更新情報をサポートページにて公開予定です。
2014年11月の刊行以来、ネットのレビューなどでご好評いただいている『Raspberry Piで学ぶ電子工作』が、全ページカラーでリニューアル! Raspberry Pi 3に完全対応し、2016年5月リリースのOS(NOOBS1.9.2)向けの操作解説を中心に、旧世代OS(NOOBS1.4.1)での操作を補足掲載。電子工作超初歩のLチカから、温度センサ、モーターなどを扱う基礎的な演習からスマホやタブレット端末と連携する演習まで、ラズパイならではの電子工作のいろはをきっちり学べます。
実際に回路を組む際に便利な回路図のPDFファイル、40ページを超える応用情報を掲載したPDFファイルはダウンロードしてご利用いただけます(応用情報PDFは、電子版では巻末に収録)。
・本書で対応するRaspberry Piの機種
Raspberry Pi Model B+、Raspberry Pi 2 Model B、Raspberry Pi 3 Model B
・対応するRaspbian(Raspberry Pi 用のOS)…… NOOBS v1.4.1またはv1.9.2
本書刊行後にリリースされる機種やOSへの対応については、サポートページにて公開していく予定です。
また、本書の演習で使うLEDや抵抗、ブレッドボード、モーターなどのパーツを集めたパーツセットを秋月電子通商さんにて販売中(通販&店舗)です。
http://akizukidenshi.com/catalog/g/gK-10852/
(なお、秋月電子通商さん以外で販売される本書名を冠したパーツセットは公式のものではありません。それらのパーツセットには、本書の演習でのご利用が難しいパーツが含まれていることがあり得ますのでご注意ください。)
1章 Raspberry Piとは何か
2章 Raspberry Pi用のOS のインストール
3章 電子工作の予備知識およびRaspberry PiによるLEDの点灯
4章 プログラミングによるLEDの点滅
5章 タクトスイッチによる入力
6章 AD 変換によるアナログ値の利用
7章 I2Cデバイスの利用
8章 PWMの利用
9章 WebIOPiを用いたPCやスマートフォンとの連携
10章 WebIOPiを用いたキャタピラ式模型の操作
付録A ネットワークへの接続
付録B プログラムが記述されたサンプルファイルの利用方法
付録C IDLE を用いない開発方法
付録D 日本語ソフトのインストール
付録E IP アドレスを用いずにRaspberry Piにアクセスする
付録F 抵抗のカラーコード
付録G 入手しやすいI2C接続のセンサ用サンプルファイル
付録H raspi-configを用いたRaspberry Piの設定
Amazonで詳しく見る
紹介文
『子供の科学』の人気連載が待望の書籍化!小型パソコンの“ラズパイ”でスクラッチやパイソン、マインクラフトに挑戦!
★「こどもプログラミング本大賞2020」(操作マニュアル部門)入賞!
小型パソコン「Raspberry Pi(ラズベリー・パイ/ラズパイ)」でプログラミングを楽しもう!
「Raspberry Pi」は、手のひらに収まる小型サイズのパソコン。
子供たちの教育用に開発されたもので、安価で使い方の自由度が高く、インターネットの接続性にも優れています。
小学校のプログラミング教育やワークショップなどでも活用されているコンピューターです。
さらにモーターやLEDなどの電子部品とも接続できることから、現在ではIoT産業などでの活用や電子工作のツールとして、子供から大人まで幅広い人気となっています!
この本では、Raspberry Piを通じて、パソコンのしくみや文書作成、プログラミングの基本などを学ぶことができます。
この本を読むことで、例えば次のような知識・技術を身につけることができます。
・パソコンやOSのしくみがわかる!
・文書の作成ができるようになり、自由研究レポート作成にも活かせる!
・ゲームづくりを通じてプログラミングを学べる!
・子供たちに人気のプログラミング言語Scratch(スクラッチ)だけでなく、Python(パイソン)にも挑戦できる!
・マインクラフトを楽しみながらプログラミングへの理解を深められる!
序文では、Raspberry Piの生みの親であるエベン・アプトン氏(Raspberry Pi財団創設者/Raspberry Piトレーディング社CEO)の特別メッセージも掲載。
子供たちのRaspberry Piでのプログラミングを応援しています!
2020年春から小学校で本格的に始まるプログラミング教育の準備にもピッタリで、子供だけでトライできるのはもちろん、親子でも楽しめる一冊です。
※この本では、子供向けの設定や各種アプリのインストールが完了している特別仕様のOSを扱うことにより「すぐに使えて楽しめる」ように構成しています。
このデータはダウンロードで無料で入手でき、入手方法についても本書で解説しています。
※本書で取り扱うRaspberry Piは、「Raspberry Pi 3 Model B+」というモデルです(「Raspberry Pi 3 Model B」にも対応しています)。
※誠文堂新光社ではRaspberry Piと特別仕様OS、キーボード、モニターなどの周辺機器がセットになった「ジブン専用パソコン2」という子供向けパソコンキットを取り扱っており、こちらを用いてお手軽に本書の内容を実践することも可能です。
■「子供の科学★ミライクリエイティブ」シリーズについて
1924年創刊の月刊誌『子供の科学』が、未来を生きる子供たちにとって大切な科学の実用知識について、楽しく・わかりやすく解説するシリーズ。
プログラミングなどの「ものづくりの力が身につく」テーマを中心としたラインナップ展開により、「子供たちの未来の可能性が広がる」シリーズを目指します。
Part 1 パソコンってどんなもの?
Part 2 Raspberry Piをはじめよう!
Part 3 パソコンとして使ってみよう!
Part 4 プログラミングにチャレンジ!
Part 5 マインクラフトで遊ぼう!
Part 6 みんなのラズパイ活用法を見てみよう!
Amazonで詳しく見る
紹介文
Python初心者でも安心して学べる超入門書の登場!
【本書の概要】
Web開発やデータ分析などの分野で近年、ユーザー数が増えてきているPython。
最近では、Pythonに触れる方も多くなってきています。
本書はそうしたPython初心者の方に向けて、
簡単なサンプルを作りながら、対話形式でプログラミングのしくみを学ぶ書籍です。
【対象読者】
Pythonのついて、何も知らない超初心者
【1年生シリーズ・3つのポイント】
・対話形式で解説し、イラストを交えながら、基礎知識を解説します。
・初めての方でも安心して学習できるよう基本文法もしっかり解説します。
・平易でサンプルを用意していますので、安心してプログラムを体験できます。
【本書のポイント】
ヤギ博士とフタバちゃんと一緒に
基本的なプログラムから、面白い人工知能アプリの作成まで
体験して、プログラミングのしくみを学ぶことができます。
【著者】
森 巧尚(もり よしなお)
iPhoneアプリやWebコンテンツの制作、執筆活動、関西学院大学非常勤講師など、
プログラミングにまつわる幅広い活動を行っている。
近著に『やさしくはじめるiPhoneアプリ作りの教科書』(マイナビ出版)、
『楽しく学ぶ アルゴリズムとプログラミングの図鑑』(マイナビ出版) 、
『なるほど!プログラミング』(SBクリエイティブ)などがある。
第1章 Python で何ができるの?
第2章 Python を触ってみよう
第3章 プログラムの基本を知ろう
第4章 アプリを作ってみよう
第5章 人工知能(チノ)くんと遊んでみよう
Amazonで詳しく見る
紹介文
ラズパイを使ってさまざまな機械学習の演習を行い、体験を重ねながら理解する入門書。専門知識がなくても読み通せます。
ラズパイを使ってさまざまな機械学習の演習を行い、体験を重ねながら理解する入門書。専門知識がなくても読み通せます。
第1章 機械学習と人工知能、ニューラルネットワークとの関係
第2章 機械学習入門
第3章 Raspberry Piで機械学習を体験するための準備(※)
第4章 サポートベクトルマシンによるアヤメの分類
第5章 多層ニューラルネットワークによるアヤメの分類
第6章 手書き数字の分類
第7章 コンピュータとじゃんけん勝負をしよう
第8章 画像処理でグー・チョキ・パーを読み取ろう
第9章 じゃんけんシステムの完成
第10章 ディープラーニング
※Raspberry Pi用OSのインストールと環境設定の解説は、本書のサポートページに掲載されます。
【付録A】matplotlibを用いたプログラムの解説
【付録B】OpenCVを用いたプログラムの解説
【付録C】自分の手の画像を学習用データとする方法
(注:【付録】はサポートページにてPDF形式で配布します。電子版では、末尾に収録されます)
Amazonで詳しく見る
紹介文
Linuxを使いこなすための基本から応用までを完全網羅。改訂第3版では「使えるコマンドリファレンス」を目標に、わかりやすさは変わらずに、さらに実践的なサンプルを厳選かつ充実。複数のLinuxディストリビューションでのコマンドの実行テストを行っている。
Linuxを使いこなすための基礎知識
コマンド編(エディタ/ページャ
ファイル/ディレクトリ管理
パッケージ管理
ユーザ管理
テキスト処理
プロセス管理
システム管理
ユーティリティ ほか)
Amazonで詳しく見る
紹介文
データ分析の現場にあって入門書にない「汚いデータ」(ダーティデータ)に対応する、プロのノウハウを解説します。
これがリアルなデータ分析だ!
君は「汚いデータ」を処理できるか?
データ分析の現場にあって入門書にないもの――それは、「汚いデータ」(ダーティデータ)です。本書は、データ分析の現場では①どんなデータに出会い、②どのような問題が生じ、③どう対応すればよいのかというノウハウを解説。
事前の加工(視覚化)から機械学習、最適化問題まで、100本ノックをこなして、ビジネス現場で即戦力になれる「応用力」を身につけよう!
練習するライブラリ
・Pandas
・Numpy
・Matplotlib
・scikit-learn
・Networkxs
・pulp
・ortoolpy
・opencv
・dlib
・MeCab
第1部 基礎編:データ加工
第1章 ウェブからの注文数を分析する10本ノック
第2章 小売店のデータでデータ加工を行う10本ノック
第2部 実践編①:機械学習
第3章 顧客の全体像を把握する10本ノック
第4章 顧客の行動を予測する10本ノック
第5章 顧客の退会を予測する10本ノック
第3部 実践編②:最適化問題
第6章 物流の最適ルートをコンサルティングする10本ノック
第7章 ロジスティクスネットワークの最適設計を行う10本ノック
第8章 数値シミュレーションで消費者行動を予測する10本ノック
第4部 発展編:画像処理/言語処理
第9章 潜在顧客を把握するための画像認識10本ノック
第10章 アンケート分析を行うための自然言語処理10本ノック
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で詳しく見る
紹介文
作例いっぱい! ラズパイで電子工作とガジェットづくりを楽しもう!
本書では、ラズパイがまったく初めての人でも取り組めるように、ラズパイや電子部品の入手方法、ラズパイのセットアップの仕方からスタートします。
そして、まずは簡単なプログラミングをしながら、LEDやスイッチ、ボタンといった基本的な電子部品の扱いに慣れていきます。
続いて、小型のグラフィックパネルや超音波センサー、人感センサーといった、いろいろな種類の電子部品を使いながら、もう少し複雑なガジェットづくりに取り組みます。
最後の章では、Webカメラを使った防犯ロボットを作ったり、音声認識ができるガジェットやしゃべれるガジェットを作ったり、ラジコンカーなどの制作に取り組みます。
ラズパイを使ったガジェットやロボット工作は、とても楽しいものです。そして、基礎さえ押さえてしまえば、さまざまな思い通りのガジェットを作ることができるようになります。ぜひ本書を通して楽しく学んでいきましょう!
【目次】
Chapter 1 ラズパイをセットアップしよう
Chapter 2 ラズパイに開発環境を整えよう
Chapter 3 電子工作とセンサー入門
Chapter 4 いろいろな電子部品を使ってみよう - I2C/SPI通信
Chapter 5 ロボットを作ってみよう
Chapter1:ラズパイをセットアップしよう
Chapter2:ラズパイ開発環境を整えよう
Chapter3:電子工作とセンサー入門
Chapter4:いろいろな電子部品を使ってみよう - I2C/SPI通信
Chapter5:ロボットを作ってみよう
Amazonで詳しく見る
紹介文
Arduinoや電子工作の基本から機器制御まで徹底網羅!Arduino IDEやS4Aで制御用プログラムを作ろう!電子回路や電子部品を豊富な写真やイラストで完全図解!
1 Arduinoとは
2 Arduinoの準備
3 プログラムを作ってみよう
4 電子回路をArduinoで制御する
5 I2Cデバイスを動作させる
6 シールドを利用する
付録
Amazonで詳しく見る
紹介文
ミニゲームを作りながら、人工知能で話題のPythonを楽しく覚えよう!Windows 7/8/8.1/10対応。
1 Pythonをはじめよう
2 まずは簡単なことからやってみよう
3 ウィンドウを作ってみよう
4 条件分岐でプログラムに判断させよう
5 たくさんのデータをパパッと料理しよう
6 ロールプレイング風迷路を作ってみよう
7 モンスターと戦闘しよう
8 アドベンチャーゲームを作ろう
Amazonで詳しく見る
紹介文
豊富なカラー図解とイラストで超わかる!プログラムの「読み方」「書き方」「しくみ」「動かし方」を根本から理解し、作りながらしっかり学べる、すべてのビギナーに最良の入門書!
1 プログラムってなんだろう
2 Pythonを始めよう
3 Pythonでプログラムを書くときのルール
4 プログラムを構成する基本的な機能
5 数当てゲームを作ってみよう
6 数当てゲームをグラフィカルにしよう
7 クラスとオブジェクト
8 拡張モジュールを使ってみよう
Amazonで詳しく見る
紹介文
Excelは全ビジネスマン必須のアプリケーションですが、操作がめんどうだと感じたことはありませんか?
本書は、「Python」というプログラミング言語を使って、そんなめんどうな業務を自動化・効率化する方法を紹介します。プログラミングがはじめての人にもわかるように、コードの書き方からしっかり解説。ExcelやGoogleスプレッドシートでのグラフ作成やデータ収集、表計算、データ分析など、ひととおりの業務をプログラムで動かす方法がわかります。
プログラミングのはじめの一歩としてもオススメです。
■■はじめに
■■■第1章 Pythonをはじめよう
■■1-1 Pythonの特徴
■Column オープンソースソフトウェア(OSS)はどうして無料なの?
■■1-2 Pythonのインストール
■1-2-1 Anacondaのダウンロード
■Column Python 2? Python 3?
■1-2-2 Anacondaのインストール
■■1-3 Pythonをさわってみよう
■1-3-1 CUIの起動
■1-3-2 Pythonの対話モードの起動
■■1-4 PyCharmを使おう
■1-4-1 PyCharmのダウンロード
■1-4-2 PyCharmのインストール
■1-4-3 PyCharmを日本語で利用する
■1-4-4 インタープリターの設定
■1-4-5 「hello world」と表示するプログラムの作成
■Column PyCharmをすぐ呼び出せるようにしておこう
■■■第2章 Pythonを動かしてみよう
■■2-1 Pythonのきほん
■2-1-1 データの性質
■2-1-2 オブジェクトと関数
■2-1-3 計算してみよう
■2-1-4 異なるデータ型同士の計算
■2-1-5 オブジェクトを操作する
■2-1-6 同じオブジェクトを使いまわす
■■2-2 ある条件で処理を分ける
■2-2-1 条件を判定する
■2-2-2 条件に応じて処理をする
■■2-3 オブジェクトをひとまとまりで扱う
■2-3-1 中身をあとから変更できるリスト型
■2-3-2 中身をあとから変更できないタプル型
■Column ミュータブルとイミュータブル
■2-3-3 キーと値をセットで扱う辞書型
■■2-4 同じ処理を繰り返し行う
■2-4-1 要素の数だけ処理を繰り返す
■2-4-2 条件が続く限り処理を繰り返す
■2-4-3 処理の途中でループを抜け出す
■■2-5 定義した処理を実行する
■Column インデントは半角スペース4つ?
■2-5-1 関数にわたす情報・関数から戻ってくる情報
■2-5-2 変数が使える範囲
■Column エラーメッセージが表示されたら
■2-5-3 あらかじめ用意されている関数
■■2-6 ファイルを機能ごとに分けて再利用する
■2-6-1 使いたいファイルを読み込ませる
■2-6-2 あらかじめ用意されているライブラリを使う
■Column サードパーティライブラリ
■■2-7 例外処理
■■■第3章 Excel作業を自動化しよう
■■3-1 Excelファイルを操作するための準備
■3-1-1 OpenPyXLをインストールする
■3-1-2 新しいフォルダの作成
■3-1-3 Excelファイルをフォルダに配置する
■Column PyCharm上でのファイル移動
■■3-2 Excelの値を表示する
■3-2-1 指定したセルの値を取得する
■Column 取得するセル位置を指定するほかの方法
■3-2-2 複数のセルをまとめて取得する
■■3-3 Excelファイルを編集する
■3-3-1 Excelファイルを新規作成する
■3-3-2 Excelシートを追加/削除する
■3-3-3 セルの値を編集する
■3-3-4 フォントを設定する
■■3-4 Excelのレイアウトを編集する
■3-4-1 Excelの行と列の幅を設定する
■3-4-2 行と列を固定表示する
■Column #からはじまる行はなに?
■■3-5 Excelのグラフを作成する
■3-5-1 グラフが読み込むデータを決める
■3-5-2 グラフの種類を決める
■3-5-3 グラフにデータをわたす
■3-5-4 グラフをつくる
■3-5-5 データから系列をつくる
■Column PyCharmのコーディングアシスタンスについて
■Column GitやGitHubでプログラムを管理しよう
■■■第4章 Googleスプレッドシート操作も自動化しよう
■■4-1 Googleスプレッドシートを操作するための初期設定
■4-1-1 Googleアカウントの作成
■4-1-2 Google Cloud Platformプロジェクトの作成
■4-1-3 スプレッドシートを操作するためのAPIを有効化する
■4-1-4 サービスアカウントを作成し、認証情報をダウンロードする
■4-1-5 利用ライブラリをインストールする
■■4-2 新しいスプレッドシートを作成する
■4-2-1 プログラムがAPIにアクセスできるよう設定する
■4-2-2 スプレッドシートを作成する
■4-2-3 スプレッドシートの共有権限を変更する
■4-2-4 スプレッドシートのURLを表示する
■Column 新しいシートを追加する
■■4-3 セルの値を取得する
■4-3-1 事前準備
■4-3-2 スプレッドシートを開く
■4-3-3 セルの値を取得する
■■4-4 セルの値を編集する
■■■第5章 Excel作業の前工程・後工程を自動化しよう
■■5-1 フォルダ・ファイル操作
■5-1-1 絶対パスと相対パス
■5-1-2 フォルダにあるファイルを一覧表示する
■5-1-3 フォルダを作成する
■5-1-4 ファイルの書き込みと読み込み
■Column モードオプションw、x、a の選び方
■5-1-5 ファイルを移動する
■■5-2 文字列操作
■5-2-1 文字列を検索する
■Column encoding オプションの指定について
■5-2-2 正規表現を使って文字列を検索する
■5-2-3 検索一致した文字列の位置を調べる
■5-2-4 文字列を置換する
■Column よりシンプルな文字列置換
■Column format()メソッドで文字列に変数を埋め込む
■■5-3 CSVデータの処理
■5-3-1 CSVの出力
■Column newlineオプションの指定について
■5-3-2 CSVの読み込み
■5-3-3 CSVの加工
■■5-4 Webからデータを取得しよう
■Column Webから情報を取得する際の注意点
■■■第6章 表計算やデータ分析をやってみよう
■■6-1 データ分析を始める前に
■6-1-1 ExcelとPythonの使い分け
■6-1-2 データ分析の流れ
■■6-2 JupyterLabを使ってみよう
■6-2-1 JupyterLabとは
■Column Jupyter Notebookとの違いは?
■6-2-2 JupyterLabを起動する
■6-2-3 実行してみよう
■Column 新しいファイルの追加
■6-2-4 pandasの基本的な使い方
■■6-3 データを分析する
■6-3-1 データの準備
■6-3-2 データを読み込む
■Column データセットの書き込み方法
■6-3-3 データを結合する
■Column 手動でのデータ追加方法
■Column 欠損値を補うには
■6-3-4 データを集計する
■■6-4 データを可視化する
■6-4-1 日本語フォントの使用について
■6-4-2 棒グラフを作成する
■6-4-3 折れ線グラフを作成する
■Column プログラムの書き進め方
■■■第7章 いろんな業務を自動化してみよう
■■7-1 複数のExcelファイルに分散した売上データを分析する
■例題の説明
■7-1-1 フォルダの中のExcelファイルを読み込む
■7-1-2 各月ごとに分かれている売上データを連結する
■Column インポートの順序とグループ化
■7-1-3 売上データと顧客流入元データを結合する
■7-1-4 顧客流入元ごとの売上合計を集計する
■7-1-5 Excelファイルに集計データを出力する
■さらなる応用
■■7-2 特定のルールに従って、フォルダ構成を整理する
■例題の説明
■7-2-1 作業用フォルダにすべてのファイルをコピーする
■7-2-2 すべてのファイルを取得する
■7-2-3 取得したファイルが請求書ファイルかどうかを判別する
■Column 処理を関数にする基準は?
■7-2-4 新しいファイル名とフォルダ名を取得する
■7-2-5 新しいフォルダを作成する
■7-2-6 ファイル名変更とフォルダ移動を行う
■さらなる応用
■■7-3 Webスクレイピングでデータを取得する
■例題の説明
■7-3-1 対象のWebページを確認する
■Column クエリパラメータ
■7-3-2 Webページから情報を取得する
■7-3-3 CSSセレクタを確認する
■7-3-4 取得したHTMLを解析する
■7-3-5 書籍のURLを取り出す
■さらなる応用
■Column Webページから画像を取得する
■■おわりに
■■参考文献
■■索引
■■読者特典
Amazonで詳しく見る
紹介文
Raspberry Piを題材に、コンピュータの仕組みを学ぶ。コンピュータを構成するコンポーネント間の連携についても解説。
Raspberrry Piを通してコンピューターの仕組みを学ぶ!
本書は、低価格シングルボードコンピュータとして普及しているRaspberry Piを題材に、コンピューターの仕組みを学ぶ書籍です。コンピューターを構成するさまざまなコンポーネント(プロセッサ、メモリ、ストレージ、イーサネット、カメラなど)と、それらがどのように連携して動作するのかについて、詳細に解説を行います。またそれらハードウェア上で動作するOSなど低レイヤのプログラミングについての解説も行います。
Amazonで詳しく見る
紹介文
手作業だと膨大に時間がかかる処理を一瞬でこなすPython 3プログラムの作り方について学べる入門書。
Pythonによる自動処理入門。とにかく、わかりやすい!
ファイル名の変更や表計算のデータ更新といった作業は、日々の仕事の中で頻繁に発生します。ひとつふたつ修正するだけであれば問題はありません。しかし、それが数十、数百となってくると手に負えません。そのような単純な繰り返し作業はコンピュータに肩代わりしてもらうとすごくラクになります。本書では、手作業だと膨大に時間がかかる処理を一瞬でこなすPython 3プログラムの作り方について学びます。対象読者はノンプログラマー。本書で基本をマスターすれば、プログラミング未経験者でも面倒な単純作業を苦もなくこなす便利なプログラムを作れるようになります。さらに、章末の練習問題を解くことで、類似のタスクを自動処理するスキルをもっと高めることができます。
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で詳しく見る
紹介文
私たちの日常生活で、人工知能が普通に使われる時代になりました。スマートフォンの顔認証、自動運転技術、SiriやAlexaのようなAI音声アシスタントなど身近な技術ばかりです。これからは機械学習や深層学習はエンジニアの基本教養となるかもしれません。本書は、機械学習や深層学習の分野から画像認識に重点をおいて、難しい数式をつかわず、図や写真を多用して解説する入門書です。必要な概念、用語、キーワードも網羅的に説明します。
第1部 人工知能・機械学習・深層学習の基礎知識
第1章 人工知能・機械学習・深層学習の基本
01-01 人工知能概要
人工知能の歴史
人工知能とは
機械学習
人工ニューラルネットワーク
深層学習(ディープラーニング)
今注目される理由
01-02 機械学習とは
機械学習とは
機械学習のタイプ(分類)
教師あり学習
教師あり学習の用途
教師あり学習の重要アルゴリズム
教師なし学習
教師なし学習の用途
教師なし学習の重要アルゴリズム
強化学習
機械学習のためのデータ
データの重要性
学習用データと検証データ
過学習(over fitting)
次元の呪い(the curse of dimensionality)
データの入手
機械学習(教師あり)の流れ
課題の定義
データの準備
学習フェーズ
検証・評価フェーズ
応用フェーズ
01-03 深層学習とは
視覚情報の重要性
生物学ニューロンから人工ニューロンへ
生物学ニューロンとは
生物学ニューロンのモデル化
パーセプトロン(perceptron)
パーセプトロンの限界
ニューラルネットワーク
活性化関数
ニューラルネットワークの学習
深層学習(ディープラーニング)とは
深層学習の応用
3つの代表的な深層学習アルゴリズム
畳み込みニューラルネットワーク詳説
入力層(input layer)
畳み込み層(convolutional layer)
プーリング層(pooling layer)
全結合層(fully connected layer)
深層学習のフレームワーク
機械学習、深層学習に必要な数学
第2章 Pythonと重要なツール・ライブラリ
02-01 本書の実行環境の概要について
Pythonの開発環境
Pythonの環境を用意する
PCにPythonをインストールする場合
Anacondaのダウンロード
Anacondaのインストール
Anaconda Navigatorの起動
Anacondaで環境の管理
まずはChannelを追加しよう
仮想環境にパッケージをインストールしよう
Raspberry Piの場合
pip3のインストール
共通の必要なパッケージ等をインストールする
Kerasが利用するパッケージのインストール
本書のサンプルコードをダウンロードする
02-02 Jupyter Notebookを使おう
Jupyter Notebookの起動
Jupyter Notebookの基本操作
Notebookを作る
新しいNotebookを作る
メモを追加する
Raspberry PiでJupyter Notebookを使う場合
02-03 Colaboratoryノートブックを使おう
動かそう!
GoogleアカウントにログインしてGoogleドライブを起動
Colaboratoryノートブックを作成する
Pythonのバージョンの設定
Colaboratoryでの操作
ハードディスクの容量の確認
メモリ使用量の確認
OS情報の出力
CPU情報の出力
ファイルのアップロード
パッケージのインストール
使用中のパッケージのバージョンの確認
本書のNotebookをインポートする
02-04 Pythonの基礎と文法
Pythonの基本
Pythonのバージョンを確認しよう
インストールされているパッケージを確認しよう
Hello Worldと表示してみよう
日本語の出力
コメントの書き方
演算
変数
変数とは
文字列の変数
文字列の連結
Pythonの型
型の出力
型の変換
リストの作り方
二次元配列
三次元配列
文字の多次元配列
リストからの値の出し方
リストのスライス
リスト要素の更新
リスト要素の追加
リスト要素の削除
リストの代入
条件分岐
if文と条件式
else
elif
条件式の and、not、or
for文
range()による数値シーケンスの生成
while文
関数
import
ファイルをimportする
第3章 NumPyとMatplotlibの使い方
03-01 NumPyの使い方
NumPyの基本操作
配列の作成
掛け算
足し算
配列の要素同士の四則演算
ベクトルの内積
二次元ベクトルの内積
ndarrayの形状変換
要素がゼロの配列生成
要素が1の配列を生成する
未初期化の配列を生成する
matrixで二次元配列の作成
shapeで次元ごとの要素数を取得する
ndimで次元構造を取得する
配列要素のデータ型dtype
1要素のバイト数itemsize
配列の要素数size
arangeで配列を生成する
配列要素データ型の変換astype
03-02 Matplotlibの使い方
簡単なグラフを作ってみよう
グラフの要素に名前を設定する
グラフのグリッドを非表示にする
グラフの目盛を設定する
グラフのサイズ
散布図
複数グラフのグリッド表示
三次元散布図
色とマーカーを変える
第2部 今すぐ試してみたい16のレシピ!
第4章 機械学習・深層学習のレシピ(初級・中級)
04-01 OpenCVでの画像処理の基本
OpenCVとは
OpenCVのバージョン
OpenCVのインストール
バージョンの確認
サンプル画像のダウンロード
調理手順
画像の取込み
画像の保存
トリミング
リサイズ
画像の回転
色調変換
2値化
ぼかし
ノイズの除去
膨張・収縮
輪郭抽出
画像データの水増し
まとめ
04-02 Raspberry PiでOpenCVを利用した顔認識
Raspberry PiでOpenCVを使えるようにする
OpenCVのコンパイルとインストール
Raspbianの用意
Expand Filesystem
システムを更新する
swapfileサイズを大きくする
必要なパッケージのインストール
OpenCVのソースコードを用意する
コンパイルの準備
いざコンパイル
インストール
OpenCVのsoファイルを参照できるようにする
最後にswapfileサイズを戻す
インストール後の確認
調理手順
Raspberry Piカメラモジュールの用意
PiCameraパッケージのインストール
PiCameraを使えるようにRaspberry Piを設定する
カメラの動作確認
OpenCVのサンプルコードを実行しよう
分類器のダウンロード
実行と結果
検出方法
まとめ
04-03 アヤメ分類チャレンジレシピ
scikit-learnとは
scikit-learnとはPython向けの機械学習フレームワーク
scikit-learnの特徴
scikit-learnの datasetsの種類
scikit-learnのインストール
scikit-learnのバージョンの確認
課題を理解する
データに慣れる
表形式でデータを見る
データ全件を見る
1つの特徴量を見てみる
1列目、2列目のデータを使う場合
3列目、4列目のデータを使う場合
調理手順
必要なパッケージのインポート
分類と回帰
サポートベクターマシン(SVM : Support Vector Machine)
回帰係数と誤差
超平面(hyper-plane)とは?
交差検証
最後に一番シンプルな学習と検証
分類(predict)してもらう
まとめ
04-04 scikit-learnで機械学習手書き数字認識レシピ
手書き数字の画像データの特徴量を調べる
データセットモジュールのインポート
データを表示する
データを画像として描画する
複数データを描画してみよう
手書き数字データセットを三次元の空間で見る
調理手順
分類器をインポートする
データを再構成
分類器(SVC)の作成
検証とグラフ
一回整理しよう
まとめ
04-05 Chainer+MNIST手書き数字分類レシピ
Colaboratoryで学習、Raspberry Piで
手書き認識ウェブアプリケーションを作成
Chainerとは
MNISTとは
Chainer のインストール
Chainerのバージョンの確認
Chainer の基本部品のインポート
MNISTのデータをロードする
数字の画像を見る
学習用データセットと検証用データセットの数
調理手順
必要なパッケージをインポートする
ニューラルネットワークの定義
iteratorsとは
Optimizerの設定
検証の処理ブロック
学習と検証
学習済モデルの保存
学習済モデルのダウンロード
学習済のモデルを使う
Raspberry Pi側の作業
手書き数字の認識
画像データの送信
画像データの受け取り
まとめ
04-06 Chainerで作る犬と猫認識ウェブアプリ
データの準備
ChainerとCuPyの用意
データセットのダウンロード
ダウンロードしたファイルを確認する
データセットを解凍する
調理手順
学習データを確認する(任意画像)
検証データを確認する(任意画像)
学習データと検証データを分ける
関数get_image_teacher_label_list()の定義
学習データと検証データをリストにする
画像データ形式の整備
データ形状変換の結果確認
画像の前処理関数 adapt_data_to_convolution2d_format()
データセットの作成
学習データと検証データを分ける
CNNを設定する
反復子
Optimizerの設定
updaterの設定
trainerの設定
extensionsの設定
学習の実行
学習結果の確認
検証する(学習済モデルを使う)
モデルを書き出す
関数の定義 convert_test_data()
検証用の写真を選ぶ
画像サイズの設定
Google Driveにドキュメントとして保存する
ファイルの作成
保存(Google Driveへのアップロード)
手書き犬と猫の判別
写真をアップロードして認識させる
写真を判定する処理
まとめ
04-07 PyTorchでMNIST手書き数字学習レシピ
PyTorchとは
PyTorchのインストール
調理手順
必要なパッケージのインストール
データセットのダウンロード
データの中身を見てみる
データを可視化してみる
学習データと検証データを用意する
ニューラルネットワークの定義
モデル
コスト関数と最適化手法を定義する
学習
検証
個別データで検証
まとめ
04-08 PyTorchでCIFAR-10の画像学習レシピ
CIFAR-10とは
PyTorchのインストール
必要なパッケージのインポート
transformを定義する
学習データと検証データの用意
クラスの中身を設定する
調理手順
必要なパッケージのインポート
画像を表示する関数
CIFAR-10の中身を見る
学習のニューラルネットワークの定義
optimizerの設定
学習
個別データで検証
テスト
検証
クラス毎の検証結果
まとめ
第5章 機械学習・深層学習のレシピ(中級・上級)
05-01 TensorFlow+Keras+MNIST
手書き数字認識ウェブアプリ
Kerasとは
Kerasのバックエンドとは?
なぜKerasを使うのか
TensorFlowとは
Kerasを用いた処理フロー
調理手順
TensorFlowのインストール
TensorFlowのバージョンの確認
Kerasのインストール
設定
MNISTデータセットのローディング
学習モデルに合わせたデータ配列の形状変換
学習モデルに合わせてデータ調整
教師ラベルデータの変換
シーケンシャルモデル指定
学習モデルの構築
ニューラルネットワークの構築
モデルのコンパイル
学習
学習プロセスのグラフ
検証
予測
学習済モデルの保存
保存後ファイルの確認
学習済モデルのダウンロード
Raspberry Piで手書き数字の認識、文字認識
まとめ
05-02 TensorFlow+FashionMNISTでFashion認識
Fashion MNISTとは
TensorFlowのバージョン
Fashion MNISTデータの取得
データセットを見る
検証データの確認
データセットの一部を描画する
調理手順
設定
学習モデルに合わせてデータ調整
学習モデルの構築
モデルのコンパイル
学習
学習プロセスのグラフ
検証
予測
学習済モデルの保存
まとめ
05-03 TensorFlowで花認識ウェブアプリ
retrain(転移学習)とは
花のデータセットをダウンロードする
花のデータセットを解凍する
学習(retrain)プログラムを入手する
フォルダの内容を確認する
調理手順
転移学習開始
学習の結果を確認する
予測用のプログラムをダウンロードする
テストを実施する
アップロードした花の写真でテストする
学習済のファイルをダウンロードする
Raspberry Piで手書き入力の部分を用意する
まとめ
05-04 TensorFlowでペットボトルと空き缶分別
データの収集をする
ペットボトルの画像を用意する
空き缶の画像を用意する
ペットボトル写真の処理
ペットボトル画像を確認するために表示する
意図しない写真ファイルを削除する(クレンジング処理)
ペットボトル画像の水増し
水増ししたペットボトルの画像を確認する
調理手順
学習プログラムをダウンロードする
用意したデータをtarget_folderにコピーする
ペットボトルのデータをコピーする
空き缶のデータをコピーする
転移学習開始
予測するプログラムをダウンロードする
学習済モデルを使う
学習済のモデルファイルをダウンロードする
まとめ
05-05 YOLOで物体検出
物体検出とは
YOLOとは
調理手順
daskのインストール
CPythonのインストール
darknetのclone
作業の場所を移動する
YOLOをコンパイルする
YOLO3のモデルをダウンロードする
物体検出を試してみよう
もう1枚テストする
まとめ
05-06 ハードウェアの拡張による人物検出
Movidius NCSとは
調理手順
システムを最新の状態にする
swapfileサイズを大きくする
ncsdkのインストール
TensorFlowのインストール
OpenCVのインストール
サンプルコードの実行
まとめ
05-07 Google AIY Vision Kitで笑顔認識
Google AIY Vision Kitの組み立て
まずGoogle AIY Vision Kitの中身を見てみよう
Google AIY Vision Kitを組み立てる
調理手順
Google AIT Vision Kitの最初の起動
まとめ
05-08 人工知能Cloud APIを利用してキャプション作成
クラウド上のAPIを利用して分類、検出
Azureアカウントの取得
Computer Visionプロジェクトの作成
調理手順
必要なパッケージをインポートする
初期設定
画像のキャプションを取得する関数
写真の指定
結果の表示
画像を表示する
まとめ
第3部 Pythonとオブジェクト指向・Pythonでできるウェブサーバ
第6章 Pythonとオブジェクト指向
06-01 オブジェクト指向プログラミングとは
なぜオブジェクト指向プログラミングなのか
オブジェクトとは
クラスとは
06-02 クラスを実際に作ってみよう
ロボットのクラスを作ってみよう
クラスの定義
コンストラクタ(constructor)
メソッド(method)
属性(property)
インスタンス(instance)
メソッドの呼び出し
クラスの継承
親クラス(parent class)
拡張(メソッドの追加)
メソッドのオーバーライド(method override)
まとめ
第7章 Pythonでできるウェブサーバ
07-01 Flaskアプリケーション開発の準備
Flaskウェブアプリケーションフレームワーク
Flaskのインストール
07-02 アプリケーションの設置
フォルダの作成とapp.pyの設置
ウェブアプリケーションを立ち上げる
まとめ
Amazonで詳しく見る
紹介文
Pythonによるクローリング・スクレイピングの入門から実践までを解説した書籍です。2017年の初版から内容をアップデート、新ライブラリの解説などを追加した増補改訂版です。基本的なクローリングやAPIを活用したデータ収集、HTMLやXMLの解析から、データ取得後の分析や機械学習などの処理まで解説。データの収集・解析、活用がしっかりと基本から学べます。Webサービスの開発やデータサイエンスや機械学習分野で実用したい人はもちろん、基礎から解説しているのでPython初心者でもつまずかずに学習できます。多数のライブラリ、強力なフレームワークを活用して高効率に開発できます。
1. クローリング・スクレイピングとは何か
1-1. 本書が取り扱う領域
1-2. Wgetによるクローリング
1-3. スクレイピングに役立つUnixコマンド
1-4. gihyo.jpのスクレイピング
1-5. まとめ
2. Pythonではじめるクローリング・スクレイピング
2-1. Pythonを使うメリット
2-2. Pythonのインストールと実行
2-3. Pythonの基礎知識
2-4. Webページを取得する
2-5. Webページからデータを抜き出す
2-6. データをファイルに保存する
2-7. Pythonによるスクレイピングの流れ
2-8. URLの基礎知識
2-9. まとめ
3. ライブラリによる高度なクローリング・スクレイピング
3-1. HTMLのスクレイピング
3-2. XMLのスクレイピング
3-3. データベースに保存する
3-4. クローラーとURL
3-5. Pythonによるクローラーの作成
3-6. まとめ
4. 実用のためのメソッド
4-1. クローラーの特性
4-2. 収集したデータの利用に関する注意
4-3. クロール先の負荷に関する注意
4-4. 繰り返しの実行を前提とした設計
4-5. まとめ
5. クローリング・スクレイピングの実践とデータの活用
5-1. データセットの取得と活用
5-2. APIによるデータの収集と活用
5-3. 時系列データの収集と活用
5-4. オープンデータの収集と活用
5-5. Webページの自動操作
5-6. JavaScriptを使ったページのスクレイピング
5-7. 取得したデータの活用
5-8. まとめ
6. フレームワーク Scrapy
6-1. Scrapyの概要
6-2. Spiderの作成と実行
6-3. 実践的なクローリング
6-4. 抜き出したデータの処理
6-5. Scrapyの設定
6-6. Scrapyの拡張
6-7. クローリングによるデータの収集と活用
6-8. 画像の収集と活用
6-9. まとめ
7. クローラーの継続的な運用・管理
7-1. クローラーをサーバーで実行する
7-2. クローラーの定期的な実行
7-3. クローリングとスクレイピングの分離
7-4. クローリングの高速化・非同期化
7-5. クラウドを活用する
7-6. まとめ
Appendix. Vagrantによる開発環境の構築
A-1. VirtualBoxとVagrant
A-2. CPUの仮想化支援機能を有効にする
A-3. VirtualBoxのインストール
A-4. Vagrantのインストール
A-5. 仮想マシンを起動する
A-6. ゲストOSにSSH接続する
A-7. Pythonのスクリプトファイルを実行する
A-8. Linuxの基本操作
A-9. Vagrantで仮想マシンを操作するコマンド
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登場!
Pythonはコンパイラを使わずに実行できるインタープリタ型の言語でありながら、データ分析など最新のコンピューティングの現場でひろく活用されています。
本書では「プログラミングについて何も知らないこと」を前提に、基本からPythonを解説し、さらにリストや関数といった特徴ある機能を紹介していきます。また、章末でプログラミングサンプルを紹介するなど、実戦的な内容も含まれています。
本書には次のような特長があります。
・絵を多用し、短い解説で絵本のようにビジュアルに理解することができます
・2ページを単位とした説明、基礎に絞り込んだ内容でスピーディに学習できます
・予備知識は不要。「プログラミングとはなにか」から入門できます
・Pythonの特徴などや実行の仕組みなど、知識として知っておきたい事柄もフォロー
・クラス/オブジェクトの基本も解説。オブジェクト指向の基礎にも入門できます
【翔泳社の「絵本」シリーズのラインナップをアップデート】
翔泳社の「絵本シリーズ」は、豊富なイラストと簡潔な解説でコンピュータ技術に入門できる初心者向けのシリーズです。言語/技術の超初心者や手軽に習得したい方に最適な入門書です。
新しい「絵本シリーズ」では、旧来の分かりやすさ、親しみやすさ、基礎に徹した内容というコンセプトはそのままに、Web/ネットが全盛となった現在のコンピュータ技術の潮流に合わせた解説を心掛けます。『Cの絵本』『Javaの絵本』を皮切りにラインナップを順次刷新、さらに新しい仲間を増やしてラインナップを充実させていきます。
Pythonの勉強をはじめる前に
第1章 基本的なプログラム
第2章 計算の演算子
第3章 リスト
第4章 制御文
第5章 関数
第6章 文字列
第7章 ファイルと例外処理
第8章 クラスとオブジェクト
付録
Amazonで詳しく見る
紹介文
Pythonはここ数年で日本語の書籍も増え、開発現場での利用実績も着実に増えてきています。ご自身の第二、第三の言語の選択肢としてPythonが気になっているという方も多いのではないでしょうか。また、「Pythonを始めてみたけど、実際に業務で利用するには不安が残る」「コードレビューに怯えながらPythonを書いている」という方も多いのではないでしょうか。
本書は、そういった方を対象に、Pythonという言語が持つ機能の実践的な使い方を紹介します。Pythonは、日常的なツールからWeb開発、データ分析、機械学習など分野を問わず利用できる汎用性の高い言語です。本書も同じく、Pythonという言語の仕様やその特徴的な機能、標準ライブラリでできることを中心に扱うため、分野を問わず活用していただけます。
□第1章 Pythonはどのような言語か
1.1 プログラミング言語としての特徴
シンプルで読みやすい動的型付き言語
インデントによるブロックの表現
教育用プログラミング言語ABCの影響
後方互換性の重視
豊富な標準ライブラリ
さまざまな用途での利用
1.2 Pythonの歴史と現況
Python自体の進化
Pythonの誕生
Python 2系でメジャーな言語に
Python 3系への移行
現在のPythonの状況
Pythonを取り巻く環境の変化
1.3 Pythonコミュニティの特徴
コミュニティ主体のOSS
PyCon ── Pythonユーザーが集まるカンファレンス
PEPの存在
PEP 8:Style Guide for Python Code ── Python標準のスタイルガイド
PEP 20:The Zen of Python ── Pythonの設計ガイドライン
PEP 257:Docstring Conventions ── ドキュメントの書き方
1.4 本章のまとめ
□第2章 Pythonのインストールと開発者向けの便利な機能
2.1 Pythonのインストール
OSにプリインストールされているPython
macOSでの利用
公式インストーラを利用したインストール
Windowsでの利用
公式インストーラを利用したインストール
Ubuntuでの利用
APTを利用したインストール
そのほかのLinuxでの利用
Dockerの利用
公式イメージを利用したPythonの実行
スクリプトファイルの実行
2.2 Pythonの実行
本書で利用するpythonコマンド
Pythonインタプリタの2つのモード
対話モードのインタプリタ
対話モードの基本的な使い方
対話モードでよく使う組み込み関数
type() ── オブジェクトの型を調べる
dir() ── オブジェクトの属性を調べる
help() ── ヘルプページを表示する
Docstringを使ったヘルプページの作成
スクリプトの実行
モジュールをスクリプトとして実行
pythonコマンドとpython3コマンドの違い
2.3 本章のまとめ
□第3章 制御フロー
3.1 基本となる文法
インデントによるブロックの表現
インデントの幅
pass文 ── 何もしないことの宣言
変数の利用
型の宣言がいらない理由
コメント
コメントとDocstringの違い
3.2 条件分岐
if文 ── 条件を指定した処理の分岐
真となる値、偽となる値
シンプルな条件式
if文でよく使う数値の比較
if文でよく使うオブジェクトの比較
3.3 ループ ── 処理の繰り返し
for文 ── 要素の数だけ処理を繰り返す
for文でよく使う組み込み関数
for文のelse節の挙動
for文での変数のスコープ
while文 ── 条件を指定した処理の繰り返し
while文のelse節の挙動
break文 ── ループを抜ける
continue文 ── 次のループに移る
3.4 例外処理
try文 ── 例外の捕捉
except節 ── 例外が発生したときのみ実行する
else節 ── 例外が発生しなかったときのみ実行する
finally節 ── 例外の有無にかかわらず必ず実行する
raise文 ── 意図的に例外を発生させる
独自の例外を定義する
with文 ── 定義済みのクリーンアップ処理を必ず実行する
3.5 本章のまとめ
□第4章 データ構造
4.1 None ── 値が存在しないことを表現する
条件式でのNoneの利用
4.2 真理値 ── 真/偽を扱う
bool型 ── 真理値を扱う型
ブール演算
x or y ── xが真ならx、そうでなければyを返す
x and y ── xが真ならy、そうでなければxを返す
not x ── xが真ならFalse、そうでなければTrueを返す
4.3 数値
数値どうしの演算
数値を扱う組み込み型
int型 ── 整数を扱う型
float型 ── 浮動小数点数を扱う型
complex型 ── 複素数を扱う型
条件式での数値の利用
4.4 文字列
str型 ── 文字列を扱う型
文字列の演算
for文での文字列の挙動
条件式での文字列の利用
文字列内での変数の利用
f-string ── 式を埋め込める文字列リテラル
format() ── 引数に渡した変数で文字列を置換するメソッド
%演算子 ── 一番古い文字列フォーマット
str型とよく似たbytes型
str.encode()とbytes.decode()を利用した相互変換
Python 2系とPython 3系の文字列の違い
4.5 配列 ── 要素を1列に並べて扱う
list型 ── 可変な配列を扱う型
要素の追加と削除
インデックスによる要素へのアクセス
スライスによるリストの切り出し
tuple型 ── 不変な配列を扱う型
タプル作成時の注意点
インデックスによる要素へのアクセス
スライスによるタプルの切り出し
for文での配列の挙動
条件式で使える配列の性質
タプルとリストの使い分け
4.6 辞書 ── キーと値のセットを扱う
dict型 ── 辞書を扱う型
要素の追加と削除
キーによる要素へのアクセス
キーに使えるオブジェクトの条件
for文での辞書の挙動
条件式で使える辞書の性質
4.7 集合 ── 一意な要素の集合を扱う
set型 ── 可変な集合を扱う型
要素の追加と削除
frozenset型 ── 不変な集合を扱う型
集合の演算 ── 和、積、差、対称差
for文での集合の挙動
条件式で使える集合の性質
4.8 内包表記 ── 効率的なシーケンスの生成
リスト内包表記 ── 効率的なリストの生成
ネストしたリストの内包表記
if文のある内包表記
そのほかの内包表記
4.9 そのほかの型を表す概念
可変オブジェクト ── 定義後に値を変更できるオブジェクト
不変オブジェクト ── 定義後に値を変更できないオブジェクト
コンテナオブジェクト ── ほかのオブジェクトへの参照を持つオブジェクト
イテラブルなオブジェクト ── for文で使えるオブジェクト
呼び出し可能オブジェクト ── ()を付けて呼び出せるオブジェクト
4.10 本章のまとめ
□第5章 関数
5.1 関数 ── 関連する処理をまとめる
関数の定義と実行
引数を取る関数
関数はオブジェクト
関数の戻り値
returnがない場合の戻り値
関数のさまざまな引数
位置引数 ── 仮引数名を指定しない実引数の受け渡し
キーワード引数 ── 仮引数名を指定した実引数の受け渡し
デフォルト値のある引数 ── 実引数を省略できる仮引数
可変長の位置引数
可変長のキーワード引数
キーワードのみ引数 ── 呼び出し時に仮引数名が必須になる引数
位置のみ引数 ── 呼び出し時に仮引数名を指定できない引数
引数リストのアンパック ── リストや辞書に格納された値を引数に渡す
関数のDocstring
5.2 lambda式 ── 無名関数の作成
lambda式の定義と実行
lambda式の使いどころ
5.3 型ヒント ── アノテーションで関数に型情報を付与する
型情報を付与するのメリット
型情報の付与
変数への型情報の付与
型ヒントの活用例 ── 静的解析ツールの利用
5.4 本章のまとめ
□第6章 クラスとインスタンス
6.1 Pythonのクラス機構
classキーワードによるクラスの定義
インスタンスの作成
6.2 インスタンス ── クラスをもとに生成されるオブジェクト
インスタンスメソッド ── インスタンスに紐付くメソッド
インスタンス変数 ── インスタンスが保持する変数
インスタンスの初期化
__init__() ── インスタンスの初期化を行う特殊メソッド
引数を渡してインスタンス化する
__init__()と__new__()の違い ── イニシャライザとコンストラクタ
__new__()の注意点
プロパティ ── インスタンスメソッドをインスタンス変数のように扱う
property ── 値の取得時に呼び出されるメソッド
setter ── 値の設定時に呼び出されるメソッド
クラスやインスタンスのプライベートな属性
アンダースコアから始まる属性
アンダースコア2つから始まる属性
プライベートな属性に対するPythonコミュニティの考え方
6.3 クラス ── インスタンスのひな型となるオブジェクト
クラス変数 ── クラスオブジェクトが保持する変数
クラス変数にはインスタンスからも参照可能
クラスメソッド ── クラスに紐付くメソッド
スタティックメソッド ── 関数のように振る舞うメソッド
6.4 クラスの継承
メソッドのオーバーライドとsuper()による基底クラスへのアクセス
すべてのオブジェクトはobjectクラスのサブクラス
多重継承 ── 複数の基底クラスを指定する
多重継承の注意点
属性__mro__を利用したメソッド解決順序の確認
6.5 本章のまとめ
□第7章 モジュールとパッケージ、名前空間とスコープ
7.1 モジュール ── コードを記述した.pyファイル
モジュールの作成
モジュールのインポート
python3コマンドから直接実行する
引数を取得する
直接実行したときのみ動くコード
if __name__ == '__main__':ブロックの意味
変数__name__に格納される値
7.2 パッケージ ── モジュールの集合
パッケージの作成
パッケージ内のモジュールのインポート
__init__.py ── パッケージの初期化を行う
__init__.pyの便利な使い方
import文の比較
import文のみを利用したインポート
from節を利用して特定の属性をインポートする
.を利用した相対インポート
ワイルドカードを利用して複数の属性を一括インポートする
as節による別名の付与
7.3 インポートのしくみ
モジュール検索の流れ
sys.path ── モジュールの検索パス
検索パスの優先度
PYTHONPATH ── sys.pathに検索パスを追加する
7.4 名前空間と変数のスコープ
名前空間 ── 名前とオブジェクトのマッピング
名前空間の活用
スコープ ── 直接アクセス可能な領域
ローカルスコープ ── 関数内に閉じたスコープ
グローバルスコープ ── モジュールトップレベルのスコープ
ビルトインスコープ ── 組み込みオブジェクトのスコープ
エンクロージングスコープ ── 現在のローカルスコープの1つ外側のスコープ
7.5 本章のまとめ
□第8章 組み込み関数と特殊メソッド
8.1 組み込み関数 ── いつでも利用できる関数
オブジェクトの型を調べる関数
isinstance()、issubclass() ── 動的な型判定
callable() ── 呼び出し可能オブジェクトを判定
オブジェクトの属性に関する関数
hasattr() ── オブジェクトの属性の有無を判定
getattr()、setattr()、delattr() ── オブジェクトの属性を操作する
イテラブルなオブジェクトを受け取る関数
zip() ── 複数のイテラブルの要素を同時に返す
sorted() ── イテラブルの要素を並べ替える
filter() ── イテラブルの要素を絞り込む
map() ── すべての要素に関数を適用する
all()、any() ── 真理値を返す
そのほかの組み込み関数
8.2 特殊メソッド ── Pythonが暗黙的に呼び出す特別なメソッド
__str__()、__repr__() ── オブジェクトを文字列で表現する
__bool__() ── オブジェクトを真理値で評価する
__call__() ── インスタンスを関数のように扱う
属性への動的なアクセス
__setattr__() ── 属性への代入で呼び出される
__delattr__() ── 属性の削除で呼び出される
__getattr__()、__getattribute__() ── 属性アクセスで呼び出される
イテラブルなオブジェクトとして振る舞う
__iter__() ── イテレータオブジェクトを返す
__next__() ── 次の要素を返す
コンテナオブジェクトとして振る舞う
__getitem__()、__setitem__() ── インデックスやキーによる操作
__contains__() ── オブジェクトの有無を判定する
そのほかの特殊メソッド
8.3 本章のまとめ
□第9章 Python特有のさまざまな機能
9.1 ジェネレータ ── メモリ効率のよいイテラブルなオブジェクト
ジェネレータの具体例
ジェネレータの実装
ジェネレータ関数 ── 関数のように作成する
ジェネレータ式 ── 内包表記を利用して作成する
yield from式 ── サブジェネレータへ処理を委譲する
ジェネレータを利用する際の注意点
len()で利用する場合
複数回利用する場合
ジェネレータの実例 ── ファイルの内容を変換する
そのほかのユースケース
9.2 デコレータ ── 関数やクラスの前後に処理を追加する
デコレータの具体例
functools.lru_cache() ── 関数の結果をキャッシュする関数デコレータ
dataclasses.dataclass() ── よくある処理を自動追加するクラスデコレータ
デコレータの実装
シンプルなデコレータ
引数を受け取る関数のデコレータ
デコレータ自身が引数を受け取るデコレータ
複数のデコレータを同時に利用する
functools.wraps()でデコレータの欠点を解消する
デコレータの実例 ── 処理時間の計測
そのほかのユースケース
9.3 コンテキストマネージャー ── with文の前後で処理を実行するオブジェクト
コンテキストマネージャーの具体例
コンテキストマネージャーの実装
__enter__()、__exit__() ── with文の前後に呼ばれるメソッド
with文と例外処理
asキーワード ── __enter__()の戻り値を利用する
contextlib.contextmanagerでシンプルに実装する
コンテキストマネージャーの実例 ── 一時的なログレベルの変更
そのほかのユースケース
9.4 デスクリプタ ── 属性処理をクラスに委譲する
デスクリプタの具体例
デスクリプタの実装
__set__()を実装する ── データデスクリプタ
__get__()のみを実装する ── 非データデスクリプタ
デスクリプタの実例 ── プロパティのキャッシュ
そのほかのユースケース
9.5 本章のまとめ
□第10章 並行処理
10.1 並行処理と並列処理 ── 複数の処理を同時に行う
逐次処理で実行する
並行処理で実行する
並列処理で実行する
Pythonと並行処理
並行処理と非同期処理の関係
10.2 concurrent.futuresモジュール ── 並行処理のための高水準インタフェース
FutureクラスとExecutorクラス ── 非同期処理のカプセル化と実行
ThreadPoolExecutorクラス ── スレッドベースの非同期実行
スレッドベースの非同期実行が効果的なケース
ThreadPoolExecutorクラスを利用したマルチスレッド処理の実例
逐次処理で実装
マルチスレッドで実装
マルチスレッドの注意点
マルチスレッドでの動作に問題がある実装
スレッドセーフな実装
ProcessPoolExecutorクラス ── プロセスベースの非同期実行
プロセスベースの非同期実行が効果的なケース
ProcessPoolExecutorクラスを利用したマルチプロセス処理の実例
逐次処理で実装
マルチプロセスで実装
マルチプロセスの注意点
pickle化できるオブジェクトを使う
乱数の取り扱い方
10.3 asyncioモジュール ── イベントループを利用した並行処理を行う
コルーチン ── 処理の途中で中断、再開する
async構文を使ったコルーチンの実装
await構文を使ったコルーチンの呼び出しと中断
コルーチンの並行実行
コルーチンのスケジューリングと実行
イベントループ ── asyncioモジュールの中心的な機構
タスク ── スケジューリングしたコルーチンをカプセル化
非同期I/O ── イベントループに適したI/O処理
同期I/Oを利用する処理のタスク化
asyncioモジュールとHTTP通信
aiohttp ── 非同期I/Oを利用するHTTPクライアント兼サーバライブラリ
10.4 本章のまとめ
□第11章 開発環境とパッケージの管理
11.1 仮想環境 ── 隔離されたPython実行環境
venv ── 仮想環境作成ツール
venvのしくみ
仮想環境の有効化、無効化
仮想環境内でのpythonコマンド
仮想環境内でパッケージを利用する
複数のプロジェクトを並行して開発する
11.2 パッケージの利用
pip ── パッケージ管理ツール
基本的な使い方
パッケージのインストール
パッケージのアンインストール
PyPI ── Pythonパッケージのリポジトリ
ソースコードリポジトリにあるパッケージをインストールする
ローカルにあるパッケージをインストールする
インストール済みのパッケージをアップデートする
現在のユーザー用にインストールする
環境の保存と再現 ── requirementsファイルの活用
現在の環境の情報をrequirementsファイルに保存する
requirementsファイルから環境を再現する
開発環境でのみ利用するパッケージの管理
依存パッケージのアップデート
11.3 パッケージの作成
setup.py ── パッケージの情報をまとめたファイル
パッケージのディレクトリ構成
setup.pyの基本
PyPIへの登録を考慮する
依存パッケージを考慮する
.py以外のファイルを考慮する
PyPIへのパッケージの登録
PyPIのアカウント作成
配布物の作成
配布物のアップロード
11.4 本章のまとめ
□第12章 ユニットテスト
12.1 ユニットテストの導入
単一モジュールのテスト
テスト実行コマンドの簡略化
パッケージのテスト
ディレクトリ構成
サンプルアプリケーションの作成
12.2 unittestモジュール ── 標準のユニットテストライブラリ
テストケースの実装
前処理、後処理が必要なテストケース
テストの実行と結果の確認
テスト失敗時の結果
テスト失敗時の結果を抑制する
特定のテストのみを実行する
テストケースを直接指定
テストディスカバリ
12.3 unittest.mockモジュール ── モックオブジェクトの利用
モックオブジェクトの基本的な使い方
任意の値を返す呼び出し可能オブジェクトとして利用する
アサーションメソッドで呼び出され方をテストする
patchを使ったオブジェクトの置き換え
mockを利用するテストケースの実例
12.4 ユースケース別のテストケースの実装
環境依存のテストをスキップする
例外の発生をテストする
違うパラメータで同じテストを繰り返す
コンテキストマネージャーをテストする
12.5 本章のまとめ
□第13章 実践的なPythonアプリケーションの開発
13.1 作成するアプリケーション
LGTM画像を自動生成するコマンドラインツール
利用する主な外部パッケージ
requests ── HTTPクライアントライブラリ
Click ── コマンドラインツール作成ライブラリ
Pillow ── 画像処理ライブラリ
13.2 プロジェクトの作成
Gitの利用
.gitignoreファイルの作成
GitHubでのソースコード管理
パッケージのひな型作成
lgtmパッケージの作成
テストコードの作成
13.3 継続的インテグレーションの導入
CircleCIでテスト自動化
プロジェクトの追加
config.ymlの追加
テストの実行と結果の確認
13.4 アプリケーションの開発
コマンドライン引数の取得
画像のソース情報とメッセージを受け取る
テストコードの修正
画像の取得
ファイルパスから画像を取得するクラスの実装
URLから画像を取得するクラスの実装
検索キーワードから画像を取得するクラスの実装
画像を取得するクラスの利用
画像処理
文字列を画像上に描画する最小限の実装例
文字列を中央に最適なサイズで描画する
各処理の呼び出し
13.5 コマンドとして実行する
setup.pyの作成
entry_points ── スクリプトインタフェースの登録を行う引数
動かしてみよう
13.6 本章のまとめ
Amazonで詳しく見る
紹介文
卓越したPythonプログラマになるための必読書
本書は、Pythonを使って仕事をしている開発者が普段どのようなツールやテクニックを用いて仕事をしているのか、また開発者が実際に現場で用いているベストプラクティスについて解説した書籍です。本書を読むことで、先進的なPythonプログラマが日常的に使用している開発ノウハウを学ぶことができます。
第1章 現在のPythonのステータス
第2章 構文ベストプラクティス ― クラス以外
第3章 構文ベストプラクティス ― クラスの世界
第4章 良い名前を選ぶ
第5章 パッケージを作る
第6章 コードをデプロイする
第7章 他言語によるPythonの拡張
第8章 コードの管理
第9章 プロジェクトのドキュメント作成
第10章 テスト駆動開発
第11章最適化 ― 一般原則とプロファイリングテクニック
第12章最適化 ― いくつかの強力な解決方法
第13章 並行処理
第14章 Pythonのためのデザインパターン
Amazonで詳しく見る
紹介文
詰め込みすぎないわかりやすい解説。コレならわかる!できる!
1 Pythonでプログラミングを始めよう
2 制御構文を理解しよう
3 関数の使い方をマスターしよう
4 オブジェクト指向を理解しよう
5 クラスの使い方をマスターしよう
6 モジュールを利用しよう
7 ファイルの読み書きと例外処理を行おう
8 アプリケーションを作成しよう
Amazonで詳しく見る
紹介文
Pythonプログラミングを全力で学ぶならこの1冊!Pythonをこれから学ぶビギナーから、基礎力を得て現場で実践したい方まで、確実なスキルアップをはかれます。
1 準備:Python3をはじめよう(Python3の準備
プログラムを試してみよう)
2 基礎:Pythonの基本構文を学ぶ(値と変数
標準ライブラリ
条件分岐、繰り返し、例外処理
リスト
タプル
セット(集合)
辞書
ユーザ定義関数
関数の高度な利用
クラス定義)
3 応用:科学から機械学習まで(テキストファイルの読み込みと書き出し
グラフを描く
NumPyの配列
機械学習を試そう)
Amazonで詳しく見る
紹介文
全オフィスパーソン必読!
Excelの面倒な操作はパソコンにやらせよう
全オフィスパーソン必読!Excelの面倒な操作はパソコンにやらせよう
ビジネスパーソンが必ず使うExcelは、面倒な手作業が多いのが残念なところ。いくら操作を効率化しても、マウスやキーボードでの作業がなくなりません。決まったセルの範囲を別のシートの決められたところにコピーしたり、毎月のデータをグラフにしたり……。1回だけの作業だけならまだしも、部署別や事業所別にほとんど同じ作業を何度も何度も繰り返すような作業もしばしば。オフィスでのパソコン操作には、こんな無駄がたくさんあってうんざりしている人は多いでしょう。抜本的に解決するは、操作方法を工夫するだけでは追いつきません。
そんな単純で面倒な作業は、Pythonで自動化しましょう! 一度、自分の作業に合わせて自動化すれば、どんなに大量のデータでもパソコンにすべてまかせてOK。自分は他の仕事を進められます。
今から始めるならVBAよりPythonがお薦め。
Pythonを学びながらExcelを効率化するか。
Excel業務を自動化しながらプログラミングも身に付けるか。
どちらにしても“一石二鳥”なのは間違いありません。
プログラミングをやったことがないという人も多いでしょう。普通のビジネスパーソンがプログラミング未経験なのは当たり前。でも、大丈夫。必要な基礎知識をさっと身に付けられるよう、簡潔に解説。ざっと一読するだけでプログラミングの基本が学べます。
「ExcelをPythonで自動化」なんていうと難しそうに聞こえるかもしれません。でも、実はどのプログラムもものすごくシンプル。すでに身に染みついているExcelの手作業を基にしているので、プログラムを読んでいるだけでも「何をやっているか」がリアルにわかるのが本書のミソ。ビジネスパーソンがプログラミングに入門するにはピッタリの題材なのではないでしょうか。
「そうは言っても、プログラムをイチから書くのは大変そう」。そんな心配はご無用です! 本書で取り上げたサンプルプログラムはダウンロードしてすぐに利用可能。実際の業務に即したプログラムなのに加え、どこをどう書き換えれば、手っ取り早く自分の業務に応用できるかもできる限り解説しました。プログラムによっては、ほぼ無改造で即業務に役立てられるものもあります。
「どうせならじっくりプログラミングを勉強したい」。そんな人は各章の後半を重点的に読んでください。各章のサンプルプログラムで使われているテクニックをより詳しく、深く解説。必要に応じて、学習用のシンプルなプログラムも提供しています。簡単なプログラムでも、自分で書いて動かせば学習効果は抜群。基本をしっかり身に付ければ、自分のアイデアを生かしたオリジナルのExcel自動化プログラムも可能です。
ちまちました手作業のせいで無駄な残業をするのはもうたくさん。すぐに業務に役立てたい人にも、ディープに学んで高度に自動化したい人にも、本書がきっとお役に立ちます。
【第1章 Pythonとは】
なぜPythonを使うのがいいのか/VBAではなくPythonを使う理由/Pythonの環境を作る、など
【第2章 Pythonとプログラミングの基本】
Pythonの文法/変数とデータ型。変数名の付け方/様々な演算子/組み込み関数とオリジナルの関数、など
【第3章 Excelシートを扱う】
・定型のExcelデータ(売上伝票)を読み込んで一覧データを作るプログラム
・外部ライブラリ/if文による条件分岐/for構文による繰り返し処理/読み込むセル範囲の指定方法/CSV形式で出力する/ネットワークにあるデータを扱う/パーミッションエラー対策、など
【第4章 集計】
・個々の伝票から売上を集計するプログラムと/受注データをクロス集計するプログラム
・辞書形式のデータ/2次元リストの使い方と初期化/Excel関数の埋め込み/ピボットテーブルもPythonで、など
【第5章 書式設定と印刷】
・集計表に書式を設定するプログラム
・import文の便利な書き方/行と列の非表示を制御/セルの書式設定総まとめ/罫線を自動で引く/ファイル制御に必要はraw文字列/いろいろなセル範囲の指定方法/条件付き書式をPythonで、など
【第6章 グラフ】
・ビジネスでよく使うグラフを作るプログラム
・棒グラフ/積み上げ棒グラフ/折れ線グラフ/面グラフ/レーダーチャート/バブルチャート、など
【第7章 PDF出力と加工】
・複数の納品書データをまとめてPDF化するプログラム
・テキストや画像をレイアウトしてPDFを作成するプログラム
・COMを使ったExcel操作/win32comのインストール/VBAを応用する方法、など
Amazonで詳しく見る
紹介文
シンプルなサンプルソースコードで機能解説。視覚的に、直感的にわかるコンパクトレイアウト。開発現場ですぐに役立つ実践型リファレンス。関数型プログラミングの概念からPython3.0の新機能も解説。
1 基本とルール(インストールと環境設定
Hello Python!
Pythonの特徴と強み
Python入門
数値
文字列
フロー制御
リストとタプル
辞書)
2 プログラミング(オブジェクト
関数
モジュールとパッケージ
クラス)
3 実践(テスト
ファイル
関数型プログラミング
データ
ネットワーク
モジュール
Python2.6およびPython3.0の新機能)
Amazonで詳しく見る
紹介文
プログラミングを勉強してみたけれど、なかなかうまくいかない。
プログラミングに漠然と興味があるけれど何からはじめていいのかわからない。
Progateなどの入門サイトで試してみたけれど、その後何をしたらいいかわからない。
そんなことを思っている方は多いのではないでしょうか?
独学でプログラミングをマスターするためには、実は最も大切なものがあります。
それが、学習方法です。
本書では、プログラミングの参考書を買う前に読んで欲しいプログラミングの学習方法をお伝えしていきます。
受験勉強や資格獲得、語学をマスターするためなどの勉強でこのような経験はないでしょうか?
毎日ひたすら勉強しているのに、まったく成績が上がらない。
他の人と比べて、知識が身につくのが遅い。
これらも全て、学習方法が原因なのです。
かつて僕も、がむしゃらに勉強をしていた時期がありました。
しかし、全く知識が身につかず、結局あきらめてしまったことも多かったです。
しかし、学習方法を改善してからは、知識がすんなり身につくようになったのです。
本書では、これからプログラミングを始める方のために、その学習方法をご紹介します。
またプログラミングを使って作りたいモノ別に、おすすめの学習ルートも紹介しています。
これからプログラミングを始める方、プログラミングを勉強中だけれど、身についているか実感がなく不安に思っている方、にぜひ読んでいただきたい内容となっています。
本書は、学習方法を知らないがゆえにプログラミングを断念してしまう人すべての人を救うために作られました。
そして本書が、一人でも多くの人がプログラミングというスキルを身につけ、自分の武器とするための道しるべとなれば嬉しいです。
第1章 プログラミングがなぜ注目されているのか?
1 IT技術者の需要が高まっている
2 世界は機械化している
3 プログラミング教育が世界で必修化されている
4 課題を解決するための新しい力が求められている
5 プログラミングは自己実現のための最強の武器
第2章 プログラミングって一体なんなのか?
1 プログラミングってそもそも何?
2 プログラミングの知識が必要な職業は?
3 60%の人間にはプログラミングの素質がない?
4 プログラミングで何ができるか
5 プログラミングでできる身近な事例
第3章 プログラミングができるようになるための9つの学習ステップ
1 プログラミングを学ぶ目的を作る
2 自己評価を上げる
3 作りたい目標を決める
4 作りたい物のための知識を得る
5 写経の次は改造して遊ぶ
6 得た知識を組み合わせて作品を作る
7 作品を公開して改善する
8 人に教える
9 インターリーブで学習をより効率的にする
Interlude 誰もやったことがないことが無限にある!
第4章 作品別プログラミング学習ルート
1 Webページを作ろう
2 Webアプリケーションを作ろう
3 作業自動化ツールを作ろう
4 ゲームを作ろう
5 AI(人工知能)を作ろう
6 スマホアプリを作ろう
7 VR・ARを作ろう
8 暗号資産(仮想通貨)を作ろう
第5章 <応用編>テーマ別プログラミング学習法まとめ
1 チーム開発手法
2 プロジェクト管理
3 デバッグ
4 設計
5 セキュリティ
6 サーバ
7 データベース
8 美しいプログラム
9 アルゴリズム
10 コンピュータサイエンス
第6章 プログラミングを楽しく体験してみよう
1 CodeMonkey
2 Hour of CodeのMineCraft
3 CODE COMBAT
第7章 プログラミングコンテストに参加してみよう
1 プログラミングコンテストに参加するメリット
2 国内の有名なプログラミングコンテスト
第8章 ハッカソンに参加してみよう
1 ハッカソンに参加するメリット
2 国内の有名なハッカソン一覧
Amazonで詳しく見る
紹介文
Web界隈やデザイナーに大人気!
【4年連続、売上第1位!】
【全国の書店員がオススメする本(2019年度 CPU大賞)第1位!】
ずっと、一番売れているHTML本!
大反響! 32刷突破!
読者の圧倒的な支持!シリーズ35万部突破の大ヒット!
全国の書店員がオススメする本(CPU大賞)第1位!
2019-2022年、年間売上 第1位!※
Web制作に必要な知識がすべて身につく!
※日販売上げランキング: HTML関連書籍
----------------------------------------------------------------------------
Web界隈やデザイナーに大人気!
Web関連の情報やデザインについて記事が学べる『Webクリエイターボックス』の管理人、
Manaによる渾身のHTML & CSSとWebデザインが学べる本
----------------------------------------------------------------------------
今のWebサイトの作り方が一気に学べる!
・知識ゼロから体系的に学べる!HTMLとCSSの基本
・最新の技術に対応!レスポンシブ、Flexbox、CSSグリッド
・手を動かしながら学べる!プロの現場で役立つテクニック
・コードの知識からデザインのことまで1冊ですべて学べる!
WebクリエイターボックスのManaが教える
Webサイト制作の定番&旬のスキル。
この1冊で必要なことがすべて学べる!
コードもデザインも全部学べる!
●本書の対象読者
・これからWebサイトを作り始める初心者
・HTMLとCSSを基本から学びたい人
・美しいデザインのWebサイトを作りたい人
・Webの最新技術を学びたい人
Web界隈やデザイナーに大人気!
CHAPTER 1 最初に知っておこう!Webサイトの基本
1-1 よいWebデザインとは
1-2 様々な種類のWebサイト
1-3 ユーザビリティとは
1-4 Webサイトの仕組み
1-5 デバイスの種類
1-6 ブラウザーの種類
1-7 制作の流れ
1-8 制作をはじめる前に
CHAPTER 2 Webの基本構造を作る!HTMLの基本
2-1 HTMLとは
2-2 HTMLファイルを作ろう
2-3 HTMLファイルの骨組み
2-4 HTMLの基本の書き方を身につけよう
2-5 見出しをつけよう
2-6 文章を表示しよう
2-7 画像を挿入しよう
2-8 リンクをはろう
2-9 リストを表示しよう
2-10 表を作ろう
2-11 フォームを作ろう
2-12 より使いやすいフォームにしよう
2-13 ブロック要素でグループ分けをしよう
2-14 よく使うHTMLタグ一覧
CHAPTER 3 Webのデザインを作る!CSSの基本
3-1 CSSとは
3-2 CSSを適用させる方法
3-3 CSSファイルを作ろう
3-4 CSSの基本の書き方を身につけよう
3-5 文字や文章を装飾しよう
3-6 Webフォントを使おう
3-7 色をつけよう
3-8 背景を彩ろう
3-9 幅と高さを指定しよう
3-10 余白を調整しよう
3-11 線を引こう
3-12 リストを装飾しよう
3-13 クラスとIDを使った指定方法
3-14 レイアウトを組もう
3-15 デフォルトCSSをリセットしよう
3-16 よく使うCSSプロパティ一覧
CHAPTER 4 フルスクリーンのWebサイトを制作する
4-1 フルスクリーンとは
4-2 フルスクリーンページの制作の流れ
4-3 「head」を記述しよう
4-4 「header」部分を作ろう
4-5 コンテンツ部分を作成しよう
4-6 ファビコンを用意しよう
4-7 フルスクリーンページのカスタマイズ例
CHAPTER 5 2カラムのWebサイトを制作する
5-1 2カラムのレイアウトとは
5-2 2カラムページの制作の流れ
5-3 ページ全体の見出しを作成しよう
5-4 フッター部分を作成しよう
5-5 横並びの設定をしよう
5-6 メインエリアを作ろう
5-7 サイドバーを作ろう
5-8 レスポンシブに対応させよう
5-9 カラムページのカスタマイズ例
CHAPTER 6 タイル型のWebサイトを制作する
6-1 タイル型レイアウトとは
6-2 タイル型レイアウトの制作の流れ
6-3 ページ上部の紹介文を作成しよう
6-4 タイル型レイアウトを設定しよう
6-5 レスポンシブに対応させよう
6-6 タイル型レイアウトのカスタマイズ例
CHAPTER 7 外部メディアを利用する
7-1 お問い合わせページの制作の流れ
7-2 フォームを設置しよう
7-3 地図を表示しよう
7-4 Facebookプラグインを挿入しよう
7-5 Twitterプラグインを挿入しよう
7-6 YouTube動画を挿入しよう
7-7 レスポンシブに対応させよう
7-8 OGPの設定をしよう
7-9 外部メディアのカスタマイズ例