最高のPythonブック

最高のPythonブック

Pythonは素晴らしいプログラミング言語です。 ほとんどすべてのプログラミングタスクに適用でき、迅速な開発とデバッグを可能にし、おそらく最も歓迎されるユーザーコミュニティのサポートをもたらします。

Pythonの使用を開始することは、新しいスキルを習得することに似ています。学習をガイドするために、接続するリソースを見つけることが重要です。 幸いなことに、Pythonのプログラミングの基本概念とプログラミングの詳細の両方を学習するのに役立つ優れた本がたくさんあります。 豊富なリソースがあるため、どの書籍があなたの状況に最適であるかを特定することは困難です。

この記事では、書評のコレクションを通じてPythonを学ぶのに最適な本を取り上げます。 各レビューでは、本の趣味、カバーされているトピック、およびそれらのトピックを説明するために使用されるコンテキストが提供されます。 書籍のスタイルや表示、読者の背景、その他の要因に応じて、さまざまな書籍がさまざまな人々に共鳴します。

Pythonを初めて使用する場合は、リンク:#best-books-for-learning-python [introductory books]のいずれかを使用すると、基礎の強固な基盤が得られます。

たぶん、あなたはあなたの子供と一緒にPythonを学びたい、または多分子供のグループにPythonを教えたいです。 若い視聴者向けのリソースについては、リンク:#best-python-books-for-kids [子供向けのベストPython書籍]をご覧ください。

Pythonの旅が進むにつれて、コードの効率を最大限に高めるために、さらに深く掘り下げていく必要があります。 link:#best-intermediate-and-advanced-python-books [最高の中級および上級Pythonブック]は、Pythonスキルのレベルアップに役立つ洞察を提供し、エキスパートのPythonistaになることを可能にします。

これらのレビューを読んだ後、選択すべき本がまだわからない場合、出版社は本の提供するものの例を示すサンプルの章またはセクションをしばしば提供します。 この本のサンプルを読むことで、著者のペース、スタイル、期待を最も代表する写真が得られるはずです。

どの本が最も際立っているかにかかわらず、私たちの書評家の一人であるスティーブンCからのこの逸話を検討してください。 ハウエル:

_ _ 「好きな教授がかつて私に言った、「最初に読んだ本は問題ではない。 最も理にかなっているのは常に2番目です。」

これが私にとっていつもそうだったとは言えませんが、最初の質問が困惑したりイライラしたとき、2番目の参照がすべての違いを生むことができることは間違いなくわかりました。

Pythonクラスを学習するとき、最初に取り上げた2冊の本で使用されている例に関連することは困難でした。 概念がクリックし始めたのは、私が言及した3冊目の本まででした。

重要な教訓は、立ち往生したりイライラしたりして、あなたが持っているリソースが助けにならないなら、あきらめないことです。 別の本を見たり、ウェブを検索したり、フォーラムで質問したり、ちょっと休憩したりしてください。 _ _

*注:*この記事にはAmazonなどの小売業者へのアフィリエイトリンクが含まれているため、リンクをクリックして購入することでReal Pythonをサポートできます。 これらのリンクのいずれかから購入すると、追加費用は発生しません。 アフィリエイトリンクが編集上の決定に影響を及ぼすことはありません。

Python学習のためのベストブック

Pythonを初めて使用する場合は、次の2つの状況のいずれかにいる可能性があります。

  1. あなたはプログラミングが初めてで、Pythonを学ぶことから始めたいと思っています。

  2. 別の言語でかなりの量のプログラミング経験があり、Pythonを学びたいと思っています。

このセクションでは、これら2つのシナリオの最初の1つに焦点を当て、プログラミングとPythonの両方を初めて使用する読者に最適なPythonプログラミングの本と思われる本のレビューを行います。 したがって、これらの本は以前のプログラミング経験を必要としません。 絶対的な基礎から始まり、一般的なプログラミング概念とPythonへの適用方法の両方を教えます。

*注意:*経験豊富なプログラマーに最適なPythonの書籍*を探している場合は、次のリンクの完全なレビュー付きの書籍を選択してください。#best-books-for-learning-python [intro]およびlink:#最適な中級および上級のpython-books [advanced]セクション:

  • link:#think-python [Think Python]:このリストの最も基本的な_Think Python_は、包括的なPythonリファレンスを提供します。

  • link:#fluent-python [Fluent Python]:Pythonのシンプルさにより、すぐにコーディングを開始できますが、この本では、言語のいくつかの深いトピックを取り上げながら、慣用的なPythonコードの書き方を学びます。

  • link:#effective-python-59-ways-to-write-better-python [Effective Python:59 Ways to Write Better Python]:この比較的短い本は、_Fluent Python_と同様に教育に焦点を当てた59の記事のコレクションです。本当にPythonicコードを書く方法。

  • link:#python-cookbook [Python Cookbook]:クックブックとして、これはPythonを使用して別の言語で行ったタスクを完了する方法に関する優れたリファレンスになります。

あるいは、よく書かれた完全なリソースであるhttps://docs.python.org/3/tutorial/index.html [公式Pythonチュートリアル]に直接アクセスすることもできます。

Pythonクラッシュコース

エリック・マット_(スターチプレスなし、2016)_

Python Crash Course

それは錫で言うことをします、そしてそれは本当にうまくします。 この本は、基本的なPython要素とデータ構造のウォークスルーから始まり、変数、文字列、数値、リスト、およびタプルを使用して、それぞれの操作方法の概要を説明します。

次に、 `+ if +`ステートメントと論理テストについて説明し、続いて辞書に飛び込みます。

その後、本はユーザー入力、 `+ while +`ループ、関数、クラス、ファイル処理、コードのテストとデバッグをカバーします。

それは本の前半に過ぎません! 後半では、3つの主要なプロジェクトに取り組み、巧妙で楽しいアプリケーションを作成します。

最初のプロジェクトは、 `+ pygame +`パッケージを使用して開発された、本質的にSpace InvadersのAlien Invasionゲームです。 (クラスを使用して)船を設計し、それを操縦して弾丸を発射する方法をプログラムします。 次に、いくつかのクラスのエイリアンを設計し、エイリアン艦隊を動かし、それらを撃shootすることを可能にします。 最後に、スコアボードとハイスコアのリストを追加して、ゲームを完了します。

その後、次のプロジェクトでは、 `+ matplotlib `によるデータの視覚化、ランダムウォーク、ローリングダイス、および少しの統計分析を行い、 ` pygal +`パッケージでグラフとチャートを作成します。 さまざまな形式のデータをダウンロードしてPythonにインポートし、結果を視覚化する方法、およびWeb APIとやり取りし、GitHubおよびHackerNewsからデータを取得して視覚化する方法を学びます。

3番目のプロジェクトでは、Djangoを使用して完全なWebアプリケーションを作成し、学習ログを設定して、学習しているユーザーを追跡します。 Djangoのインストール、プロジェクトのセットアップ、モデルの設計、管理インターフェイスの作成、ユーザーアカウントのセットアップ、ユーザーごとのアクセス制御の管理、Bootstrapでアプリ全体のスタイルを設定し、Herokuに最終的にデプロイする方法について説明します。

この本はよく書かれており、きちんと整理されています。 本の後半を構成する3つの挑戦的で楽しいプロジェクトに加えて、多数の有用なエクササイズを提示します。 (David Schlesingerによるレビュー。)

Head-First Python、第2版

ポール・バリー_(O’Reilly、2016)_

Head-First Python

_Head-First_シリーズの本は本当に気に入っていますが、このセクションの他の多くの推奨事項よりもコンテンツ全体の重みが明らかに軽いのですが。 トレードオフは、このアプローチが本をよりユーザーフレンドリーにするということです。

あなたが物事を一度に小さく、かなり自己完結したものを学ぶのが好きな人で、関連する概念の具体的な例とイラストがたくさん欲しいなら、_Head-First_シリーズはあなたのためです。 出版社のウェブサイトには、彼らのアプローチについて次のように述べています。

_ 「認知科学と学習理論の最新の研究に基づいて、_Head-First Python_は、眠りにつくテキストを多用するアプローチではなく、視覚的に豊かなフォーマットを使用して心を引きつけます。 新しいコンセプトに苦労して時間を無駄にするのはなぜですか? この多感覚学習体験は、脳が実際に機能するように設計されています。」 http://shop.oreilly.com/product/0636920036777.do [(ソース)] _

_Head-First Python_は、イラスト、例、脇役、その他のちょっとしたヒントでいっぱいで、一貫して魅力的で読みやすいです。 この本は、リストに飛び込み、それらを使用して操作する方法を説明することから、Pythonのツアーを開始します。 次に、モジュール、エラー、およびファイル処理に進みます。 各トピックは、統一プロジェクトを中心に編成されています。CommonGateway Interface(CGI)を介してPythonを使用して、学校のアスレチックコーチ向けの動的なWebサイトを構築します。

その後、本は、Androidアプリケーションを使用して、作成したWebサイトと対話する方法を教えることに時間を費やします。 ユーザー入力を処理し、データを圧縮し、PythonアプリケーションをWebにデプロイおよびスケーリングすることに関係するものを調べることを学びます。

この本は他のいくつかの本ほど包括的ではありませんが、おそらくよりアクセスしやすく、痛みがなく、効果的な方法で、Pythonのさまざまなタスクをカバーしています。 これは、プログラムを書くという主題が最初はやや恐ろしいと感じる場合に特に当てはまります。

この本は、どんな挑戦でもあなたを案内するように設計されています。 内容はより焦点を絞っていますが、この本はあなたを忙しく学習させ続けるための多くの資料を持っています。 あなたは退屈しません。 ほとんどのプログラミングの本があまりにも乾燥していると思うなら、これはあなたがPythonを始めるのに素晴らしい本になるでしょう。 (David SchlesingerとSteven Cによるレビュー ハウエル。)

Pythonで独自のコンピューターゲームを発明する、第4版

アル・スワイガート_(澱粉なし、2017)_

Pythonで自分のコンピューターゲームを発明する

ゲームがあなたのものである場合、またはあなた自身のゲームのアイデアを持っている場合でも、これはPythonを学ぶのに最適な本です。 この本では、古典的なゲームの構築に焦点を当てたアプリケーション演習でプログラミングとPythonの基礎を学びます。

PythonシェルとREPLループの概要から始まり、基本的な「Hello、World!」が続きます。スクリプトでは、乱数、フロー制御、型変換、およびブールデータをカバーする基本的な数字推測ゲームの作成に飛び込みます。 その後、印刷ステートメント、エスケープ文字、および基本的な文字列操作の使用方法を説明するために、小さな冗談を言うスクリプトが作成されます。

次のプロジェクトは、テキストベースの洞窟探検ゲーム、Dragon’s Realmです。これは、フローチャートと機能を紹介し、独自の引数とパラメータを定義する方法をガイドし、ブール演算子、グローバルとローカルスコープ、および `+ sleepを説明します()+ `関数。

Pythonコードのデバッグ方法を簡単に迂回した後、リスト、 `+ in `演算子、メソッド、 ` elif `ステートメント、 ` random +`モジュールについて学びながら、ASCIIアートワークを使用してハングマンのゲームを次に実装します。 、およびいくつかの文字列メソッド。

その後、辞書、キーと値のペア、および複数の変数への割り当てについて学習しながら、単語リストや難易度などの新機能でハングマンゲームを拡張します。

次のプロジェクトはTic-Tac-Toeゲームです。これは、高レベルの人工知能の概念を紹介し、条件付きで評価を短絡する方法を示し、 `+ None +`値とリストにアクセスするいくつかの異なる方法を説明します。

本の残りの部分を通るあなたの旅は、同様の流れで進みます。 Mastermindスタイルの数値推測ゲーム、Sonar Huntゲームのデカルト座標、Caesar暗号を作成するための暗号化、およびReversi(別名Othello)を実装する際の人工知能を構築しながら、ネストされたループを学習します。それ自体に対して。

このすべての後、PyGameでゲームにグラフィックスを使用する方法に飛び込みます。グラフィックスのアニメーション化方法、衝突検出の管理方法、サウンド、画像、スプライトの使用方法について説明します。 これらすべての概念をまとめるために、この本は、グラフィカルな障害物回避ゲームの作成をガイドします。

この本はよくできており、各プロジェクトが自己完結型のユニットであるという事実により、魅力的でアクセスしやすくなっています。 あなたがやって学ぶことを好む人なら、あなたはこの本を楽しむでしょう。

この本が必要な場合にのみ概念を紹介するという事実は、考えられる不利益になる可能性があります。 参照というよりもガイドとして構成されていますが、おなじみのゲームの文脈で教えられている幅広い内容は、Pythonを学ぶのに最適な本の1つです。 (David Schlesingerによるレビュー。)

Think Python:コンピューター科学者のように考える方法、第2版

アレンB ダウニー_(O’Reilly、2015)_

Pythonを考える:コンピュータサイエンティストのように考える方法

ビデオゲームを作成してPythonを学習するのがあまりにも面白くない場合は、アレンダウニーの本_Think Python_を検討してください。

タイトルが示すように、この本の目標は、コーダーがコーディングについてどのように「考える」かを教えることであり、それはそれをうまくやってくれます。 他の本と比較すると、より乾燥しており、より直線的に整理されています。 この本は、基本的なPythonプログラミングについて知っておく必要のあるすべてに焦点を当てており、非常にわかりやすく、明確で包括的な方法です。

他の類似の本と比較して、より高度な領域の一部には深く入り込んでおらず、代わりに、他の本では手に入らないトピックを含む、より広範な資料をカバーしています。 このようなトピックの例には、演算子のオーバーロード、ポリモーフィズム、アルゴリズムの分析、および可変性と不変性が含まれます。

以前のバージョンでは演習が少し軽かったのですが、最新版ではこの欠点が大幅に修正されました。 この本には、ケーススタディとして提示された4つのかなり深いプロジェクトが含まれていますが、全体として、他の多くの本と比較して、指示されたアプリケーションの演習が少なくなっています。

事実だけを段階的に説明するのが好きで、プロのコーダーが問題をどのように見ているかについてもう少し洞察を得たいなら、この本は素晴らしい選択です。 (David SchlesingerとSteven Cによるレビュー ハウエル。)

物理学における効果的な計算:Pythonを使用した研究のフィールドガイド

アンソニー・スコパッツ、キャスリン・D ハフ_(O’Reilly、2015)_

物理計算での効果的な計算、幅= 382、高さ= 499

これは、私が最初にPythonを学んでいたときに欲しかった本です。

その名前にもかかわらず、この本は、物理学、研究、または計算の問題の経験がない人にとって素晴らしい選択です。

Pythonを使用するための_field guide_です。 実際にPythonを教えることに加えて、コマンドラインやバージョン管理などの関連トピック、およびソフトウェアのテストと展開についても説明します。

優れた学習リソースであることに加えて、この本は優れたPythonリファレンスとしても役立ちます。トピックはよく散りばめられた多くの例と演習で構成されているからです。

この本は、適切な名前が付けられた4つのセクションに分かれています:はじめに、完了、適切な取得、および公開です。

「はじめに」セクションには、本格的な起動に必要なすべてが含まれています。 それは、bashコマンドラインの基礎に関する章から始まります。 (はい、https://gitforwindows.org/[bash for Windows]をインストールすることもできます。)その後、Pythonの基礎について説明し、予想されるすべてのトピック(演算子、文字列、変数、コンテナー、ロジック、およびフロー制御。 さらに、すべての異なるタイプの機能に特化した章全体があり、クラスおよびhttps://realpython.com/python3-object-oriented-programming/[object-oriented programming。]の別の章があります。

この基盤を基に、Getting it DoneセクションはPythonのデータ中心の領域に移動します。 本の約3分の1を占めるこのセクションは、科学者、エンジニア、データ科学者に最も適していることに注意してください。 それがあなたなら、楽しんでください。 そうでない場合は、先に進んで、関連するセクションを選択してください。 ただし、pip、conda、仮想マシン、およびDockerコンテナを使用してソフトウェアを展開する方法を説明するため、このセクションの最後の章を必ずキャッチしてください。

データの操作に興味がある人のために、このセクションは簡単なhttps://realpython.com/tutorials/data-science/[データ分析と視覚化に不可欠なライブラリの概要]から始まります。正規表現、NumPy、データストレージ(コア外操作の実行を含む)、特殊なデータ構造(ハッシュテーブル、データフレーム、Dツリー、kdツリー)、および並列計算のトピックを教えることに特化した章。

Get it Rightセクションでは、Pythonでの作業に関連する一般的な落とし穴の多くを回避および克服する方法を説明します。 まず、 `+ make +`を使用してソフトウェアパイプラインを構築する方法を教えることにより、ソフトウェアの展開に関する議論を拡張します。 次に、GitとGitHubを使用して、コードの編集内容を経時的に追跡、保存、整理する方法を学びます。これはバージョン管理と呼ばれるプロセスです。 このセクションは、2つの信じられないほど貴重なスキルである、コードのデバッグとテストの方法を教えることで終わります。

最後のセクション「Getting Out Out There」では、自分自身を含め、コードのコンシューマーとの効果的なコミュニケーションに焦点を当てています。 ドキュメント、マークアップ言語(主にLaTeX)、コードコラボレーション、ソフトウェアライセンスのトピックを扱います。 セクションと本は、トピックごとに整理された科学的なPythonプロジェクトの長いリストで終わります。

この本は、Pythonのすべての基礎を教えることに加えて、Pythonistaで使用される多くの技術も教えているため、際立っています。 これは、Pythonを学ぶための最高の本の1つです。

また、優れたリファレンスとして機能し、完全な用語集、参考文献、および索引になります。 この本には間違いなく科学的なPythonのスピンがありますが、科学的なバックグラウンドから来ていなくても心配する必要はありません。 数学的な方程式はありません。計算物理学を読んでいると同僚に感銘を与えることさえできます。 (スティーブンCハウエルによるレビュー)

Python 3を学ぶ

ゼッドA ショー_(Addison-Wesley、2016)_

Python 3 The Hard Wayを学ぶ

_Pythonのハードウェイを学ぶ_は古典です。 私は本のアプローチの大ファンです。 「つらい方法」を学ぶとき、あなたはしなければなりません:

  1. すべてのコードを自分で入力してください

  2. すべての演習を行います

  3. 遭遇する問題に対する独自の解決策を見つける

この本の素晴らしいところは、コンテンツがどれだけ上手く表示されるかです。 各章は明確に提示されます。 コード例はすべて簡潔で、適切に構築されており、要点です。 エクササイズは有益であり、あなたが遭遇した問題は決して乗り越えられません。 最大のリスクは誤植です。 この本を読んで、あなたは間違いなくPythonの初心者ではなくなるでしょう。

タイトルに惑わされないでください。 長い目で見れば、「ハードな方法」が簡単な方法であることがわかります。 たくさんのものを入力するのが好きな人はいませんが、それはプログラミングが実際に関与していることなので、最初から慣れることは良いことです。 この本の良いところの1つは、いくつかのエディションで洗練されていることです。そのため、粗いエッジはすてきで滑らかになりました。

この本は、https://learnpythonthehardway.org/book/[50以上の演習]のシリーズとして構築されており、それぞれが前の建物に基づいており、それぞれが言語の新しい機能を教えています。 演習0から始めて、コンピューターにPythonをセットアップし、簡単なプログラムの作成を開始します。 変数、データ型、関数、ロジック、ループ、リスト、デバッグ、辞書、オブジェクト指向プログラミング、継承、パッケージ化について学びます。 ゲームエンジンを使用して簡単なゲームを作成することもできます。

次のセクションでは、自動テスト、文を解析するためのユーザー入力の字句スキャン、https://pypi.org/project/lpthw.web/[`+ lpthw.web +`パッケージ]などの概念を取り上げてゲームを公開しますウェブ。

Zedは魅力的な忍耐強い作家であり、詳細を詳しく説明しません。 この本を正しい方法で学習すれば、「ハードな方法」で、テキスト全体およびプログラミング演習で提供される学習の提案をフォローアップすることができます。 (David Schlesingerによるレビュー。)

*注:*この記事に含まれるすべての本の中で、これはやや複雑なレビューを伴う唯一のものです。 Stack Overflow(SO)コミュニティは、次の文で始まる22件の苦情のリストをまとめました。

_ 「[_Learn Python the Hard Way]を使用しているユーザーが質問を投稿する一般的な傾向に気付きましたhttps://meta.stackexchange.com/questions/66377/what-is-the-xy-problem SO]とチャットの両方で。 これは、本で使用されている構造と技術によるものです。」 https://sopython.com/wiki/LPTHW_Complaints [(ソース)] __

彼らは独自のhttps://sopython.com/wiki/What_tutorial_should_I_read%3F [推奨チュートリアルのリスト]を提供します。これには以下が含まれます。

_Learn Python the Hard Way_に対する否定的な批判にもかかわらず、David Schlesingerとhttps://realpython.com/asins/0134692888/[Amazonレビュアー]は、この本が価値があることに同意しますが、おそらくあなたのライブラリを参照としてより役立つ可能性があります。 また、Stack Overflowに質問を投稿する前に、デューデリジェンスを必ず行ってください。そのコミュニティは時々ややこしいことがあります。

リアルPythonコース、パート1

Real Python Team (Real Python、2017)

Real Python Logo、width = 1500 、height = 1500

この電子書籍は、https://realpython.com/products/real-python-course/[Real Python course series]の3つのうちの最初の(これまで)です。 それはあなたを立ち上げて走らせることを目標として書かれており、この目標を達成する上で素晴らしい仕事をしています。 この本は、説明文、コード例、およびレビュー演習を組み合わせたものです。 散在するレビュー演習は、学んだことをすぐに適用できるようにすることで学習を強化します。

以前の書籍と同様に、Pythonをコンピューターにインストールして実行するための明確な手順が事前に提供されています。 セットアップセクションの後、_Real Python_はデータ型の簡単な概要を示すのではなく、単に文字列で始まり、実際には非常に徹底的です。30ページ目に到達する前に文字列のスライスを学習します。

次に、この本は、適用できるクラスメソッドのいくつかをどのように使用するかを示すことにより、Pythonのフレーバーを十分に理解できるようにします。 次に、関数とループの作成、条件付きロジックの使用、リストと辞書の操作、ファイルの読み取りと書き込みを学びます。

その後、物事は本当に楽しくなります! + pip +(およびソースから)でパッケージをインストールすることを学ぶと、_Real Python_は、PDFファイルとの対話と操作、Python内のSQLの使用、Webページからのデータのスクレイピング、 + numpy +`および `+ matplotlib + `科学計算を行い、最後に、 + EasyGUI + + tkinter + `でグラフィカルユーザーインターフェイスを作成します。

私が_Real Python_で一番気に入っているのは、基本を徹底的かつ友好的な方法でカバーすることに加えて、Webスクレイピングなど、他のどの本にも当てはまらないPythonのより高度な使用法についても説明していることです。 また、2つの追加ボリュームがあり、より高度なPython開発に使用されます。 (David Schlesingerによるレビュー。)

*免責事項:*数年前、まだベータ版であったときに、_Real Python_本を初めて使い始めました。 私はそのとき、そして今でも考えながら、Python言語とその使用方法を学ぶのに利用できる最高のリソースの1つであると考えました。 Real Python Webサイトでの私の記事の執筆は、ごく最近の開発であり、レビューは完全に独立しています。 —デビッド

子供向けのベストPythonブック

以下の本は、子供たちにコードを教えることに興味がある大人を対象にしていますが、途中で学習することもあります。 これらの本は両方とも、9歳または10歳の子供に推奨されていますが、年長の子供にも最適です。

これらの本は、年齢に応じて、子供に渡すだけのものではないことに注意することが重要です。 Pythonを子供と一緒に学びたい親にとって理想的です。

Python for Kids:遊び心のあるプログラミング入門

ジェイソンR. ブリッグス_(澱粉なし、2013)_

Python for Kids:A Playful Introduction to Programming

「遊び心」が正しい! これは、タイトルにもかかわらず、すべての年齢層にとって楽しい本です。 明確でわかりやすいPythonプログラミング入門を提供します。 それはおおまかに説明されており、例はわかりやすく明確に提示されています。また、基本的な知識を習得したい人のための堅実なガイドです。

この本は、Windows、OS X、Ubuntu Linuxのいずれであっても、システムにPythonをインストールするための優れた詳細なガイドから始まります。 次に、Pythonシェルの紹介と、単純な計算機としての使用方法について説明します。 これは、変数や算術演算などのいくつかの基本概念を紹介するのに役立ちます。

次に、反復可能要素に取り組みます。この章では、文字列、リスト、タプル、および辞書を段階的に処理します。

それが達成されると、Pythonの「+ turtle +」ライブラリを使用して、子供にコードを教えるための一般的なフレームワークである亀グラフィックスの操作を開始します。 そこから、本は条件付きステートメント、ループ、関数、およびモジュールに進みます。

クラスとオブジェクトについて説明し、続いてPythonの組み込み関数に関する非常に優れたセクションに続き、いくつかの便利なPythonライブラリとモジュールに関するセクションに続きます。 Turtleグラフィックスの詳細を再検討し、その後、本ではユーザーインターフェイス、より良いグラフィックス、さらにはアニメーションを作成するための `+ tkinter +`を紹介しています。

これで、本の第1部「プログラムの学習」を終了し、残りは2つの楽しいアプリケーションプロジェクトの構築に焦点を当てています。 最初のプロジェクトは、Bounce!というシングルプレイヤーバージョンのhttps://en.wikipedia.org/wiki/Pong[Pong]を構築することです! これは、関数、クラス、および制御フローのプログラミング概念と、「+ tkinter +」を使用したインターフェースの作成、キャンバスへの表示、幾何学的計算の実行、およびイベントバインディングを使用したインタラクティブ機能の作成のタスクを統合します。

2番目のプロジェクトでは、横スクロールビデオゲームを作成します。 出口のためのバッターレース。 このゲームは、バウンスと同じ概念とタスクの多くを適用します! しかし、より深く、複雑さが増します。 また、ゲームのアセットを作成するために使用されるオープンソースの画像操作プログラムhttps://www.gimp.org/[GIMP]についても紹介します。 この本は、これらの2つのゲームから驚くほど多くのマイルを獲得します。そして、それらを機能させることは有益であり、とても楽しいものです。

私はこの本が本当に好きです。 若くても心の若さでも、楽しく親しみやすいPythonとプログラミングの入門書を探しているなら、この本をお楽しみください。 (David SchlesingerとSteven Cによるレビュー ハウエル。)

子供にコードを教える:Pythonプログラミングの親に優しいガイド

ブライソン・ペイン_(澱粉なし、2015)_

Teach Your Kids to Code:A Parent-Friendly Guide to Python Programming

この本はlink:#python-for-kids-a-playful-introduction-to-programming [Python for Kids]に似ていますが、タイトルとして子供(または子供)と一緒に働く大人がコーディングを学ぶことをより意図しています提案します。 この本をほとんどのリンクと区別する1つのこと:#best-books-for-learning-python [introductory books]は、ほぼすべてのページで色とイラストを使用することです。 この本はよく書かれており、子どもたちに問題解決能力を教える方法として、コードの学習を紹介しています。

よくあることですが、この本はPythonインストールガイドから始まります。 link:#python-for-kids-a-playful-introduction-to-programming [Python for Kids]と比較して、この本のガイドはより大雑把ですが完全に適切です。

最初のアクティビティは、亀のグラフィックです。 回転した四角形の描画に関する多くの基本的なバリエーションが、最初に一般的な概念を紹介するために、多くの基本的な説明なしで提示されますが、セクションの終わりまでに、かなりよく理解できます。基本。

次に、Pythonでの計算、変数、数学について説明します。 文字列がカバーされると、この本はそのすべてをタートルグラフィックスに戻し、以前に行われた作業を強化および調査します。 この時点までに、コードの説明は非常に明確であり、行ごとの詳細が明示されています。 提示されたコードを誤解するのは難しいでしょう。

次に、 `+ eval()+`関数と同様にリストを調べます。 ループが導入され、タートルでますます複雑なグラフィックスを作成するために使用されます。 ブール論理と演算子とともに条件式が次に来ます。

`+ random +`ライブラリには、推測ゲームと、亀のグラフィックで作られたランダムに配置されたスパイラルが導入されています。 ローリングダイスとピッキングカードを実装することにより、ランダム性をさらに探索します。これにより、ゲームヤッツィーと戦争が作成されます。

次に、機能、より高度なグラフィックス、およびユーザーインタラクションについて調査します。

この本は、PyGameを使用してさらに高度なグラフィックスとアニメーションを作成し、ユーザーとの対話を使用して非常に簡単な描画プログラムを作成する方法をカバーしています。

この時点で、実際のゲームを作成するためのすべてのツールが用意されています。 Pongのフル機能バージョンとバブルポップゲームの両方の開発が紹介されています。 両方とも、いくつかの課題を提起し関心を維持するのに十分な深さを提供します。

この本で一番気に入っているのは、プログラミングに関する多くの課題と、各章の最後にある優れた要約です。 あなたとあなたの子供がプログラミングに興味を持っているなら、この本はあなたとあなたの両方に良い距離を取り、あなたはたくさんの楽しみを持っているでしょう。 著者として、博士 ブライソンペインは、http://brysonpayne.com/2018/04/24/bryson-payne-tedx-talk-coding-cyber-new-literacy/[最近のTEDxトーク]で次のように述べています。テクノロジーの言語で読み書きができるようになります。」 (David SchlesingerとSteven Cによるレビュー ハウエル。)

最高の中級および上級Pythonブック

Pythonを知ることは1つのことです。 Pythonicとは何かを知るには練習が必要です。 Pythonの参入障壁が低いため、他の言語よりも能力が低い、スタイルが重要でない、またはベストプラクティスが好みの問題であるという誤った考えを人々に与えることがあります。 CやFortranのようなPythonコードを見たことがありますか?

Pythonの効果的な使用方法を学習するには、内部でPythonが何をしているかをある程度理解する必要があります。 Pythonicプログラミングは、Python言語の実装方法を利用して、コードの効率を最大化します。

幸いなことに、学んだことを学び、スキルをレベルアップするのに役立つ、専門家のガイダンスが満載の優れた本がいくつかあります。 このセクションの本はいずれも、Pythonプログラミングの概念をより深く理解し、developer-style Pythonコードの書き方を教えてくれます。 これらは入門書ではありません。 開始の基本は含まれていません。 これらの本は、すでにPythonでコーディングしていて、本格的なPythonistaになるためのパスでスキルをさらに磨きたい場合に役立ちます。

Pythonの秘cks:すばらしいPython機能のビュッフェ

ダン・バダー_(dbader.org、2017)_

Python Tricks

この本は、Pythonのより深い理解を得るために書かれた、あまり知られていない価値のあるPythonの機能とベストプラクティスを示しています。 43のサブセクションはそれぞれ、Pythonトリックと呼ばれる異なる概念を提示し、その概念を活用する方法を説明する簡単なダイジェストコード例とディスカッションを示します。

本の内容は次のセクションに分かれています。

  • よりきれいなPythonのパターン

  • 有効な機能

  • クラスとOOP

  • Pythonの一般的なデータ構造

  • ループと反復

  • 辞書のコツ

  • Pythonic Productivity Techniques

表紙にあるように、コンテンツは「ビュッフェ」として構成され、各サブセクションは自己完結型のトピックであり、簡単な紹介、例、ディスカッション、および_Key Takeaways_のリストがあります。 そのため、最も魅力的なセクションに自由にジャンプしてください。

本に加えて、これを電子書籍として購入したときに利用できる12のボーナスビデオを特に楽しみました。 平均長は11分で、昼食をとるのに最適です。 各ビデオは、再現が簡単で明確かつ簡潔なコード例を使用して、異なる概念を示しています。 いくつかのビデオはおなじみの概念をカバーしていますが、ドラッグすることなく興味深い洞察を提供しました。 (スティーブンC. ハウエル。)

*免責事項:*この本はReal Pythonを介して公式に配布されていますが、Real Pythonとの関係とは別に推奨します。 この本を購入したのは、Real Pythonを書く機会を得る前の最初のリリース時でした。 この本の価値のさらなる証拠については、https://realpython.com/asins/1775093301#customerReviews [Amazonレビュー]:148、このレビューの時点で5つ星のうち平均4.8をチェックしてください。 —スティーブ

流FluなPython:明確で簡潔で効果的なプログラミング

ルチアーノ・ラマリョ_(O’Reilly、2014)_

Fluent Python

この本は、Python 3に精通したい経験豊富なPython 2プログラマ向けに書かれています。 したがって、この本は、Pythonの基礎2または3の強固な基礎を持ち、スキルを次のレベルに引き上げたい人に最適です。 さらに、この本は、「Pythonで `+ <x> +`を実行するにはどうすればよいですか?」を参照したい別の言語の経験豊富なプログラマ向けのリファレンスとしても機能します。

本はトピックごとに構成されているため、各セクションを個別に読むことができます。 この本でカバーされているトピックの多くは入門書にありますが、_Fluent Python_はより詳細な情報を提供し、Python言語のより微妙で見落とされがちな機能の多くを明らかにします。

この章は、次の6つのセクションに分かれています。

  1. プロローグ:Pythonのオブジェクト指向の性質とPythonライブラリの一貫性を保つ特別な方法を紹介します

  2. データ構造:シーケンス、マッピング、セット、および `+ str `と ` bytes +`の違いを扱います

  3. 関数としての関数:関数がPython言語のファーストクラスオブジェクトである結果を説明します

  4. オブジェクト指向イディオム:参照、可変性、インスタンス、多重継承、および演算子のオーバーロードが含まれます

  5. 制御フロー:基本的な条件を超えて拡張され、ジェネレーター、コンテキストマネージャー、コルーチン、 `+ yield from `構文、および ` asyncio +`を使用した同時実行の概念をカバーします。

  6. メタプログラミング:動的属性とプロパティ、属性記述子、クラスデコレーター、メタクラスについて議論し、クラスのあまり知られていない側面を探ります

ほとんどすべてのページにコード例があり、コードの行を役立つ説明にリンクする番号付きのコールアウトがあり、この本は非常に親しみやすいものです。 さらに、コード例は、提示された概念を探索および学習するための実用的なアプローチである、対話型Pythonコンソールを対象としています。

Pythonの質問があるときにこの本に目を向け、Stack Overflowで得られる説明よりも詳細な説明が欲しいと思います。 また、少しダウンタイムがあり、何か新しいことを学びたいときにも、この本を読んで楽しんでいます。 私はこの本から最近学んだ概念が、私が解決しなければならない問題の完璧な解決策であることが、偶然にも何度かありました。 (スティーブンC. ハウエル。)

  • Amazonで表示» *http://shop.oreilly.com/product/0636920032519.do [出版社のウェブサイトで表示»]

効果的なPython:より良いPythonを書く59の方法

ブレット・スラットキン_(Addison-Wesley、2015)_

効果的なPython:より良いPythonを書く59の方法

この本は、Pythonのベストプラクティス、あまり知られていない機能、組み込みツールを教えるためにPythonの基本的な理解に基づいて構築された59の独立した記事のコレクションです。 トピックの複雑さは、使用しているPythonバージョンを認識するという単純な概念から始まり、メモリリークを識別するというより複雑で、通常は無視される概念で終わります。

各記事は、サンプルコード、ディスカッション、および覚えておくべき事柄のリストの組み合わせです。

各記事は独立しているので、これは飛び回るのに最適な本であり、最も適切または興味深いトピックに集中することができます。 これにより、一度に1つの記事を読むのにも最適です。 各記事の長さは約2〜4ページであるため、1日に1つの記事を読む時間を作って、2〜3か月で本を仕上げることができます(週末に読むかどうかによって異なります)。

記事は次の8つの章に分類されます。

* Pythonic Thinking *:Pythonの実装方法を活用しながら、一般的なタスクを実行する最良の方法を紹介します
  1. 関数:Python関数の微妙な違いを明確にし、関数を使用して意図を明確にし、再利用を促進し、バグを減らす方法を概説します。

  2. クラスと継承:Pythonクラスを操作する際のベストプラクティスの概要

  3. メタクラスと属性:メタクラスのやや不可解なトピックを明らかにし、それらを使用して直感的な機能を作成する方法を教えます

  4. 並行処理と並列処理:Pythonでマルチスレッドアプリケーションを作成する方法を説明します

  5. 組み込みモジュール:Pythonのあまり知られていない組み込みライブラリのいくつかを導入して、コードをより便利で信頼性の高いものにします

  6. コラボレーション:適切なドキュメント、パッケージング、依存関係、仮想環境について説明します

  7. 生産:デバッグ、最適化、テスト、およびメモリ管理のトピックを扱います

Pythonの強固な基盤があり、穴を埋め、理解を深め、Pythonのあまり目立たない機能のいくつかを学習したい場合、これは素晴らしい本です。 (スティーブンC. ハウエル。)

Pythonクックブック

デビッド・ビーズリー&ブライアン・K ジョーンズ_(O’Reilly、第3版、2013年)_

Python Cookbook、3rd。 Edition、width = 500、height = 656

この本を際立たせるのは、その詳細レベルです。 コード_cookbooks_は通常、日常のタスクを行うための洗練された方法を説明するための短くて甘いマニュアルとして設計されています。 この場合、_Python Cookbook_の各レシピには、拡張コードソリューションと、ソリューションの特定の要素に関する著者の議論が含まれています。

各レシピは、「ラップされた関数の呼び出しシグネチャに追加の引数を追加するデコレータを書きたい」などの明確な問題ステートメントで始まります。次に、現代的で慣用的なPython 3コード、パターン、およびデータ構造を使用するソリューションにジャンプし、多くの場合、4〜5ページでソリューションを説明します。

より複雑で洗練された例と、序文の著者自身の推奨に基づいて、これはおそらく私たちのリストの中で最も先進的なPython本です。 それにもかかわらず、自分が中級のPythonプログラマーであると考えても怖がらないでください。 とにかく、誰が審査していますか? 次のような古い言葉があります:

_ 「より良いバスケットボール選手になるための最良の方法は、最悪の選手を倒すのではなく、見つけられる最高の選手に負けることです。」 _

完全に理解していないコードブロックが表示される場合があります。数か月後に戻ってきます。 いくつかの追加の概念を取り上げた後、これらのセクションを読み直してください。突然、クリックします。 ほとんどの章はかなり簡単なものから始まり、その後徐々に強烈になります。

本の後半では、デコレータパターン、クロージャ、アクセサ関数、コールバック関数などのデザインを説明します。

信頼できる情報源から読むことは常に素晴らしいことであり、この本の著者は確かにその法案に適合しています。 David Beazleyは頻繁にhttps://www.dabeaz.com/talks.html[PyConなどのイベントで基調講演を行っています]であり、https://realpython.com/asins/0672329786/[Python Essential Reference]の著者でもあります。 同様に、Brian K. ジョーンズは、Pythonマガジンの作成者であり、https://www.meetup.com/pug-ip/?_cookie-check = 09STgWAF3KD4GDD6 [プリンストンのPythonユーザーグループ(PUG-IP)]の創設者であるCTOです。

この特定のエディションは、Python 3.3で作成およびテストされています。 (ブラッド・ソロモンによるレビュー。)

コーディングしてください!

Pythonの素晴らしい点の1つは、他の多くの言語と比較して、参入障壁が比較的低いことです。 それにもかかわらず、Pythonの学習は終わりのないプロセスです。 この言語は非常に多様なタスクに関連しており、非常に進化しているので、発見して学ぶべき何かが常にあります。 1週間か2週間で楽しいことをするのに十分なPythonを手に入れることができますが、20年間Pythonを使用している人は、この柔軟で進化する言語でできる新しいことをまだ学んでいると言うでしょう。

最終的にPythonプログラマーとして成功するためには、強固な基盤から始めてから、言語の仕組みとその最適な使用方法をより深く理解する必要があります。 強固な基盤を得るために、#best-books-for-learning-python [Pythonを学ぶのに最適な書籍]のリンクを間違いなく使用することはできません。 子供と一緒にPythonを学びたい場合、または子供たちのグループに教えたい場合は、リンク:#best-python-books-for-kids [子供向けの最高のPython本のリスト]をご覧ください。 足が濡れたら、次のリンクをチェックしてください:あなたのコード。

これらの本はすべて、合法的に自分をPythonコーダーと呼ぶために知っておくべきことを教えてくれます。 不足している成分は_you_だけです。