このページは,みんなのPython第四版のサンプルコードのページです。サンプルコードは,ページ下にあるというバッジをクリックすると,Colaboratoryを使ってWeb上で実行できます(一部コードを除く)。手元にダウンロードしたい方は,こちらのリンクからダウンロードしてください。
サンプルコードの動かし方
サンプルコードは,一部をのぞいてJupyter Notebookを使ってお使いいただくようになっています。Anacondaをインストールし,Jupyter Notebookを起動して実行してください。
Windowsをお使いの場合は,ZIPファイルをダウンロードして展開したサンプルコードのフォルダをJupyter Notebookのアプリケーションがある階層に移動してください。MacやLinuxの場合は,シェルでサンプルコードのディレクトリに移動してからJupyter Notebookを起動して下さい。そうすると,Webブラウザ上のダッシュボードにサンプルコードの階層が表示されます。
サンプルコードは章ごとにフォルダに分け,節ごとにipynbファイルになって収録されています。Jupyter Notebookで階層を渡り歩いて,コードをご覧ください。
コードの動かし方,学び方
Notebook上のサンプルコードは,上のセルから順番に実行してください。そうしないとエラーが発生することがあります。
まずは,書籍を読みながら,セルを実行してみてください。実行結果を見ると,プログラムの動きが分かるはずです。
もう少し手をかけて学びたい人は,実行する前にコードをよく呼んでみましょう。そして,どのような結果になるか頭で考えてみましょう。
いわゆる「写経」をしたい人は,Webブラウザのウインドウを横に並べて,ひとつにサンプルコードを,もうひとつに写経用のNotebookを開いておくとよいでしょう。サンプルコードを見ながら,実際に自分でコードを打ち込み,動かしてみるわけです。
コードを動かした後,数値を変えてみたり,変数を加えてみたりして,プログラムを改造するとなお良いかも知れません。
Chapter 01 プログラミング言語Python
- Pythonの魅力
- Python(Anaconda)の入手とインストール
- インタラクティブシェル(対話型シェル)を使う
- ファイルにPythonのプログラムを書く
- Jupyter Notebookを使う
Chapter 02 Pythonでプログラミングをはじめよう
Chapter 03 Pythonの基礎をマスターする
Chapter 04 組み込み型を使いこなす
- オブジェクトとしての組み込み型
- 数値型を操作する
- 文字列型を使いこなす
- リスト型,タプル型を使いこなす
- set型を使いこなす
- ディクショナリ型を使いこなす
- if文と組み込み型
- for文と組み込み型
- 関数と組み込み型
- Pythonの文字列と日本語
- Pythonのファイル処理
Chapter 05 関数型プログラミング
Chapter 06 クラスとオブジェクト指向開発
Chapter 07 クラスの継承と高度なオブジェクト指向機能
- クラスを継承する
- 特殊メソッドを利用する
- 組み込み型を継承する
Chapter 8 モジュール
- モジュールファイルを作る
- モジュールの階層構造(パッケージ)
- モジュールを利用する際の注意点
- サードパーティーのモジュールを使う
Chapter 9 スコープとオブジェクト
Chapter 10 例外処理
- Pythonの例外処理
- 良く起こるエラーや例外と対策
Chapter 11 標準ライブラリを使う
- 標準ライブラリのインポート
- データ構造
- 日時データの扱い「datetime,calendar」
- 正規表現「re」
- システムパラメータを取得,操作する「sys」
- ファイル,プロセスなどOS依存の情報を取得,操作する「os」
- 数学関数を利用する「math」「random」
- インターネット上のデータを取得する「urllib」
- 文字列ベースのバーチャルなファイルを作る「io.StringIO」
- CSV(カンマ区切り)ファイルの操作「csv」
- オブジェクトの永続化とシリアライズ「shelve」「pickle」
- JSONデータを扱う「json」
Chapter 12 Pythonとデータサイエンス
Chapter 13 Python2
- Python3とPython2の違い
- Python2から3への移行方法
- おわりに
オマケ
みんなのPythonが終わっちゃった人は,こちらをどうぞ。
みんなのブロックチェーン 目次
CHAPTER 01 - イントロダクション
「マネー(お金)」は,計算技術の発達によって形を変えながら,人間活動の触媒として機能してきました。計算の技術がマネーをどのように変えたのかを歴史を交えて振り返りながら,ブロックチェーンという技術がなにをもたらすかについて知り,モチベーションを高めましょう。
- 01-01 情報と価値の歴史
- 01-02 通貨とビットコイン
- 01-03 プラットフォームとしてのブロックチェーン
CHAPTER 02 - Pythonにおける数値計算
現代のマネーは,コンピュータによって「数」として扱われます。この章では,基本的なプログラミングに触れながら,コンピュータでお金を扱う方法の基本を学びます。簡単なので,ぜひプログラムを実行して,より深い学習に進む前の準備運動をしてください。
CHAPTER 03 - 履歴とデータ
プログラムを動かしながら,履歴とはなんなのかについて学びます。Webブラウザにグラフが表示され,楽しい章です。実際にプログラムを実行して,より深い学びにつなげてください。
CHAPTER 04 - 暗号
計算が正しく,十分な長さの履歴があるだけでは,信用は生み出されません。なぜなら,人にはそれぞれ異なった意図があり,情報は知られたくない人に伝わったり,都合のいいようにねじ曲げられてしまうからです。伝えたい相手だけに正しい情報を伝えるための技術「暗号」について学びましょう。
CHAPTER 05 - ハッシュ
「ハッシュ」はデータを要約するための計算手順で,暗号や認証,通信などに欠かせない技術です。ブロックチェーンの理解にも必要なハッシュについて,前の章で得た知識をベースに学びましょう。
CHAPTER 06 - ブロックチェーンとハッシュ
ブロックチェーンでは,ハッシュを活用して履歴のコピーを防止しています。その他にも,データの圧縮など様々な形でハッシュを活用しています。ここでは,ブロックチェーンで活用されるハッシュについてより具体的に学びましょう。
CHAPTER 07 - 公開鍵暗号と契約
「公開鍵暗号」は,現代の暗号を語る上でとても需要な技術です。ここでは,公開鍵暗号の仕組みと,公開鍵とハッシュを組み合わせた作られる「電子署名」について解説します。さらに,楕円曲線暗号についても簡単に解説します。
CHAPTER 08 - P2P(Peer to Peer)
非中央集権的なしくみで運営されるのがブロックチェーンの大きな特徴です。中央集権的システムと対比をしながら分散システムについての概要を学び,ブロックチェーン理解の最後の砦「P2P」に迫りましょう。
- 08-01 中央集権と分散
- 08-02 マイニングと合意
- 08-03 分散型台帳技術
CHAPTER 09 - ブロックチェーンの応用
学習のまとめとして,ブロックチェーンを応用した技術について具体的に解説します。ビットコインやイーサリアムをはじめ,アルトコインの仕組みについて触れながら,ICOやスマートコントラクトについても学びましょう。
- 09-01 ビットコイン
- 09-02 ビットコイン2.0とアルトコイン
- 09-03 イーサリアム
- 09-04 ブロックチェーンの問題点
CHAPTER 10 - アウトロダクション
価値の交換をゼロコスト化する技術は,私たちの歴史に何をもたらすのでしょうか。想像力の翼を広げ,とある時間線の行く先を覗いてみましょう。
- 10-01 価値交換の未来
それでは,お楽しみ下さい:-)。