第2版を読んでみた感想2022-02-08ITレビューどうもLibraです。第2版」を読んだのでそのレビューを書いていこうと思います。出版社のページでは、付録データのダウンロードや正誤表の確認などができます。下記にリンクを貼っておきますので興味のある方は合わせてご覧ください。5/5難しい内容は一切なく、初心者向けと言えるでしょう。逆にある程度Pythonを触った経験のある人にとっては物足りない内容だと思います。イラストを交えての解説や、実行結果のスクリーンショットが豊富で、わかりやすさに関しては文句なしだと感じました。windows/mac環境での実行結果や、OSの違いで発生し得る細かな違いにも言及されているため、windows/macユーザのどちらでもこの本の内容を実行できる点も魅力です。Pythonの紹介1章から3章まではこの本の序章的な内容で、1章では主にPythonとは、プログラミングとは何かについて書かれています。言ってもかなり基本的なことしか書かれていないので、ある程度パソコンに強い人であれば読み飛ばしても問題ないでしょう。Pythonを自分のPCで動かそうPythonを動かすための環境を準備します。Pythonとテキストエディタのインストール、環境設定などを行うので、何も考えず真似していきましょう。Pythonでプログラムを動かそう2章で設定したことの確認です。この章に書いてある内容を真似してうまく動作すれば準備完了です。次章から本題であるPythonの内容に入っていきます。型とメソッドプログラムのデータ型について解説されています。数値データはint型、文字列データはstr型など、プログラム上ではデータの種類によって型が違うこと、また型によってそれぞれ固有の機能(メソッド)を適応できることを解説しています。str型のデータに対して、対象データのすべての文字列(英字)を大文字に変換するupperメソッドや、小文字に変換するlowerメソッドなどが紹介されています。メソッドと聞いてオブジェクト指向について連想される方がいるかと思いますが、この本ではオブジェクト指向やオブジェクト指向プログラミングについての解説はありません。Pythonというプログラミング言語の基本中の基本概念のみを取り扱っています。(オブジェクト指向について解説しようとすると、あらましだけでももう100ページくらいは必要になりそうですし...。条件分岐if文について解説されています。if文の使い方と比較演算子についてまとめられています。リスト型と繰り返し処理リスト型とfor文について解説されています。「for文を使ってリストの内容を順番に表示してみよう」といったコンセプトで解説を進めつつ、リスト型で使える機能(メソッド)もいくつか紹介されています。while文の解説はありません。辞書型が持つkeyやvalueの概念や、for文を使ってデータを取り出す方法が解説されています。タプルに少し触れたりもしていますがあまり深入りはせず、シンプルに情報がまとめられています。関数の定義の仕方、引数と戻り値、関数を使うことによる利点、変数のスコープについて解説されています。全体的にあまり深入りせず、わかりやすく情報がまとめられていますが、この章の内容はおそらくこの本の中で一番重要なのでしっかり理解しておくと良いでしょう。スクリプト、モジュール、パッケージ」にも繋がります。errorをはじめとするエラーの種類と、正常形、異常形について解説されています。エラーの種類についてはともかく、正常形や異常形の話を初心者向けの本で扱っているのは珍しい印象ですが、知っていて損になることはないでしょう。この章はプログラムの書き方や仕様の話ではなく、どちらかと言えば設計やテストなど開発現場に寄った話なので、想定される読者層(初めてプログラミング、もしくはPythonに触る人)には少し時期尚早な気もします(個人的にですが)。いえ、あまり深入りしている訳ではないので、頭の片隅に留めておくとよいでしょう。型ヒント型ヒントについて解説されています。Python以外のプログラミング言語を触ったことのある方はすぐに気づいたと思いますが、Pythonという言語には変数を定義する際に型を宣言する必要がないという珍しい仕様があります。他のプログラミング言語では変数型を明確にしておくことがメジャーなのですが、Pythonもそれに倣って変数型を明確にしようとする動きがあります。型ヒント自体は書かなくてもエラーにはなりませんが、チームで開発を進めたり、プログラムの保守性、可読性を高めるために重要なことだったりするので、Pythonと長い付き合いをしていく方はよく理解しておくと良いでしょう。スクリプト、モジュール、パッケージPythonスクリプトの実行、モジュールをimportする方法、外部ライブラリのインストール方法について解説されています。非常にコンパクトにまとめられていますが、知らないと話にならないレベルの内容ばかりなのでしっかり理解しましょう。Webスクレイピングこれまでの総括的な内容です。BeautifulSoupを用いてWebスクレイピングを行うプログラムを書いていく訳ですが、これにはPythonだけでなくWebの知識もある程度必要となってきます。今回は必要な周辺知識も一緒に解説されているため、初心者の方でも問題なくプログラムを書いていくことができるでしょう。この章で個人的に一番大切だと思うことは、「プログラミングスキル自体は開発の本質ではない」ということです。スマホアプリを開発している現場では、それぞれの技術に関する専門知識が必要になってきます。開発対象の技術に関して深い知識と見識がなければ良い設計、良いテスト(9章の正常形、異常形に関わる話)ができないためです。プログラミング言語はあくまで実装に用いるツールでしかありません。実際の開発現場では12章のように(プログラミング言語の仕様とは別に)開発に必要となる専門知識を調べたり勉強したりすることはよくある話です。普段から最新の技術についてアンテナを張っておき、勉強する癖をつけておくと良いでしょう。ファイル操作Pythonを用いてファイルを開いたり編集したりする方法を解説しています。多くの職場や大学で使われているだろうexcelファイルやCSVファイルを操作する方法が紹介されているので、技術職でない方や学生にとっても知っていると便利な内容だと思います。この本を読んでやってみたことBeautifulSoupを用いてWebページのテキストを抽出し、テキストファイルに書き出す関数を書いてみました。シンプルすぎて特に言うことはありませんが、書き出したファイルは何らかのデータ解析や機械学習のためのデータセットとして使えそうですね。f.close()個人的な感想ここまで書いてきた通りかなり初歩的な内容の本になってます。ある程度プログラミングの経験のある方には正直おすすめはしません(ゼロとは言いませんが得られることはそう多くないかなと個人的に思います)。私もPythonに初めて触れる際にこの本を読ませていただきましたが、大学で情報工学を専攻しC言語をある程度触ってきた経験があったので、かなり簡単な内容だなと感じました。12章でWebスクレイピングのコードを書く際に少し手応え?を感じた程度でしょうか。「オブジェクト指向プログラミングは手強いぞ」という漠然な印象を持っていた私は、しっかり基礎から固めていくためにこの本を手に取りましたが、ある程度プログラミング経験のある方は臆せずもう少しレベルの高い本を選んだ方がいいかもしれません。逆に「これからプログラミングを始める」「過去にプログラミング挫折したけど再チャレンジしたい」という方にはオススメします。12章は少し手強いと感じるかもしれませんが、少なくとも11章までの内容はあらゆる入門本の中でも一番簡単なレベルなので、ゆっくりあせらず真似していけば必ず理解できると思います(このレベルの内容を理解できなかったらすまんけどプログラミング向いてないかも...)。高校生くらいの方でも全然触れる内容なので、興味のある方はチャレンジしてみてはいかがでしょうか。まとめ私がこの本を読んだ時はオブジェクト指向の話を入れたり、リストとか条件分岐とかもっと凝った話を入れてもいいんじゃないかと思ったりもしましたが、初心者向けの本ですし別にこれで問題ないですね。経験者の人はもっとレベルの高い本を選べばいいだけですし。初心者の方もこの本の内容を理解できたら、さらにレベルの高い内容に挑戦してPythonの奥深さを楽しんでいただけたらと思います。今回はここまでとなります。ここまで読んでくださった皆様、ありがとうございました。MELibraどうもLibraです。日本でエンジニアやってます。普段は家に引きこもって読書に没頭する日々を送る一方、長期休暇の際は世界中を旅している、そんなアップダウンの激しい人間。このブログでは主にIT系の技術書や語学系の本を中心に、書籍紹介やレビュー記事を書いています。小説やラノベも好きなのでそれらの感想も書いたりするかも。このブログの内容が少しでも皆様にとって有意義なものになれば幸いです。Libraの電子図書館.。