今回の投稿では、Pythonを学びたい人におすすめの本を7冊紹介します。
ほかのブログ・サイトとは違いを出すために、英語で書かれている本のみを取り上げています。
英語で書かれた本を読むことで、Pythonを学びながら英語力を上げられます。
目次
Python初心者向けの本
Python Crash Course
この本はPythonの基本を学ぶパート1と、プロジェクトをやるパート2の2部構成となっています。
パート1ではPythonのインストールからはじめて、listやloop、classなどを学んでいきます。
どの章でも、概念(classなど)が具体例(コード)とともにわかりやすく紹介されています。そのため、コードのどの部分がどういった働きを持っているのかという、明確なイメージを持つことができます。
パート2では パート1で学んだこと(FunctionやClass)を実際に生かしながら、インベーダーゲームを作成したり、ウェブアプリケーションを作ります。
書かれている英語も平易なほうで、英検2級~準1級の実力があれば十分に理解できると思います。
この本で学べること
- Installation, Python version
- Variables, simple data types
- Lists, dictionaries
- For loops, while loops, if statements
- Functions, classes
- How to work with files
Learn Python 3 the hard way
Learn Python 3 the hard wayはPythonの基礎基本を解説した本です。各章には概念の説明とドリル(コードの例と動画付き)、よくある質問への回答があります。
説明はこれまでかというくらい丁寧に書いてあり、Pythonを触るのは初めてという人でもスラスラと読めるでしょう。また、書かれている英語のレベルは平易で、英検2級ほどの実力があれば十分に理解できると思います。
この本で学べること
- Numbers and Math
- Variables and printing
- Working with files
- Functions
- If statements
- Lists and dictionaries
Head First Python
Head First Pythonはアイルランド人のポールによる、Pythonの解説本です。プログラミング初心向けというわけではなく、ほかのプログラミング言語を触ったことがある人向けに書かれています。
Head First Pythonは絵や写真がふんだんに使われており、とても見やすいです。データ構造や関数、クラスがとてもわかりやすく解説されています。
Head First Pythonは教科書スタイルの本が苦手という人におすすめできます。
この本で学べること
- Getting started quickly
- Working with data
- Functions and modules
- Abstracting behavior and state
- Wrapping functions
Learning with Python
Learning with Pythonはプログラミング言語の種類の話からはじめて、データの種類や関数、クラスなど、Pythonの基礎をしっかりと解説しています。
Learning with Pythonは丁寧に書かれているのですが、文体は教科書のそれに近いです。そのため、初めてPythonを学ぶ人にとっては少しとっつきにくいかもしれません。
ただ、この本はインターネット上で無料配布されています。誰でも簡単にアクセスでき、手軽に読むことが可能です。以下に本のPDFのリンクを貼っておきます。
参考 Learning with PythonHow to Think Like a Computer Scientistこの本で学べること
- The way of program
- Variables, expressions and statements
- Functions
- Data types
- Classes and objects
- Exceptions
Python for kids
Python for kidsはその名の通り、子供向けに書かれたPythonの本です。
プログラミンの考え方やPythonの基本が、誰にでもわかるようにまとめられています。また、本の後半部分ではPythonを使ったゲーム開発が紹介されています。
Python for kidsは英語にそこまで自信のない人、プログラミングの知識がまったくない人におすすめできます(もちろん子供にもおすすめ)。
この本で学べること
- Installation of Python
- Calculations and variables
- Strings, lists and maps
- If statements and loops
- Classes and objects
- Python’s built-in functions
Python中級者向けの本
Effective Python: 59 specific ways to write better Python
グーグルのシニアソフトウェアエンジニアによるPythonの解説本です。長年Pythonを使っているプロからのアドバイスがぎっしりと詰まっています。
Pythonをすでに使っていて、よりコードをすっきりと書きたい人におすすめです。(classの作り方などはわかっている前提で話が進んでいきます)
ただし文章は少し難しく、英検準1級レベルの実力がないと理解するのは厳しいと思います。
この本に書いてあること
- Prefer enumerate over range
- Reduce visual noise with variable positional arguments
- Accept functions for simple interfaces instead of classes
- Use built-in algorithms and data structures
- Know how to break circular dependencies
Fluent Python: Clear, Concise, and Effective Programming
Fluent Pythonは効率的でかつ短い・見やすいコードを書くための本です。
Dictionaryやクラスの効果的な使い方や、ほかのプログラム言語にはないPythonの特徴など、ためになる情報がたくさん紹介されています。
Fluent PythonはEffective Pythonと同様に、Pythonをすでに使っている人におすすめの本です。
注:本書はPython 3向けに書かれています。Python 2で同じことをするには、コードを少し修正する必要があるかもしれません。
この本に書いてあること
- Python data model
- Array, dictionaries
- First class functions, a Pythonic object
- Concurrency with futures
- Dynamic attributes and properties
最後に、初心者の方はプログラミングの本を読んだら必ず自分でコードを書いてみましょう。頭ではわかっていても、実際コードを書いてみると思うようにいかないものです。
インターネット上にある例題など、何でもよいのでとりあえず手を動かしましょう。
初めのうちはエラーがたくさん出るかもしれませんが、3ヶ月もすればそれなりにコードが書けるようになると思います。練習あるのみです。
ぼくの体感ですと、Object-oriented programmingができるようになれば、かなりつぶしがききます。
コメントを残す