みなさんこんにちは。
11月から職場を変え職種を変わることとなりました。
現在はWebディレクター的な立場で仕事をしていましたが、兼ねてより興味の強かったエンジニアとしてのキャリアをスタートします。
職務内容については、言語はPythonを中心とし。Webも多少は関わって行きますが、機械学習に重きを置くことになります。ようやく挑戦できることとなりました。3年は長かったよ…
(現職をやめると言ってから実際に辞めるまでは3ヶ月ほどかかりました…)
この辺も追々記事にしてみたいなあと思います。
さて、本題ですが業務でPythonmを扱えるという喜びとプレッシャーに戦々恐々としていたところ、
「この本やってみとけばとりあえずはいいっしょ」
と言われた、みんなのPython 第4版の紹介・感想となります。
やっぱこういう本は重いけど確かな力になりますね。
みんなのPython第4版ってこんな感じ
思想から紹介してくれる超人気のPythonの入門書
名前の通り、Pythonについての学習本です。
正確な数値は忘れてしまいましたが、昨今のPythonの人気も相まってAmazonの技術書の売上ランキングとかでも上位に食い込むことの多い人気入門書。
言語としての初歩の初歩(Print文)などから丁寧に解説があるだけでなく、
Pythonの思想といった部分や発展の背景といった部分にも解説があります。
個人的にありがたいと思ったのは、
他の言語にはないような特性(スライスの特性やset型)について、使用例を上げつつ丁寧に解説してくれていたところです。
※本当に他の言語が違うかは保証できません。勉強中だから…
また、言語仕様の入門書というよりはPythonを使うということの入門になっているようで、
今流行りの機械学習といった部分についても紹介・実践パートがあります。
ここも含めほんとに背景部分まで記載されているのがありがたいんですよね。
入門書ゆえ細かすぎる部分の紹介は行われていない
その変わりというか入門書という立て付けだからかはわからないのですが、名前だけの紹介に留まり詳細な解説は本書の範囲外としてる部分がいくつかあります。
そのため重厚な技術書を読みこなしてきたような人には物足りない部分もあるかもしれません。
オブジェクト指向の部分の仕組みや名前空間の範囲まであったから個人的には十分満足なのですが。
それ以上あるととてもじゃないけど頭に入らない
ただ、私のようなきちんとした勉強を行ったことがない人については、
逆に今は知らなくていいことはばっさりと切り捨て、必要な部分に集中して勉強が出来る。
というメリットだと言いかえられると思います。
難易度にかかわらず終始同じようなペースで進行する
淡々と同じようなペースでかなり初歩的な部分(printの仕方)から応用的な部分(参照渡しと値渡しなど)まで、一冊を通して割と淡々と同じようなペースで進みます。
これは私の問題だと思うのですが、懐かしの予備校の教材のように難しい問題や絶対に覚えておいてほしい内容について繰り返し出題されるということはありません。(そりゃそうだ)
技術書を初めて読むがゆえかもですが、難しい部分もサラッと進むことに若干の戸惑いを覚えつつ読み進めました。
(ちなみにビジネス書は、刷り込むかのように同じこと飽きるほど繰り返すような本が多いです。)
公式のサンプルコードがWeb上で公開されている
個人的に非常に大きかった点はこの点です。
以下リンクは、著者である柴田淳さんの公式ページなのですが、
ここにはサンプルコードやサンプルデータが掲載されています。
https://coreblog.org/ats/stuff/minpy_support/samplecodes04/
プログラミングの勉強では、本を買って体系的な勉強をした方がいいとは言いますが、
変数の手入力とか本質的でない部分でモチベーションが下がることって結構ありますよね…
そのような本質的でない部分を極力カットしてもちーベーション高く勉強することが出来るのが個人的にはおすすめす。
こんな人におすすめ
Pythonには触れた経験がないor少ない人
当然なのですが、入門書ゆえ深い部分には触れない(上記の通り対象外とされる)ことや、Pythonの初歩の初歩から始まるため、序盤というか中盤くらいまでは退屈な内容が続くことになるかと思います。
(読み飛ばせばいいのですが、それなら他の本を買って勉強したほうが良いと思います。)
多少は他の言語なりプログラミングの素養がある人
上と対象的な内容とはなりますが、「他の元とは違い〜」といったいい回しなど他の言語と比べるような内容がそれなりに登場します。
また、進めば進むほど内容が複雑になってくるためスラスラと理解していくことが難しい部分が多くなるかと思います。
そのような際は本書上のサポートはあまり厚くないので、耐性がない人はちょっと辛いかも。
無味乾燥な文章を読みのが苦手な人
イメージですが、技術書は淡々と情報が記載されるようなとっつきにくい文章であることが多いかと思いますが、この本のよいところは、文章や変数に人間味が溢れているところです。
サンプルコードには顕著に現れているのですが、不思議な変数名が多いです。
著者はガールズアンドパンツァーとももクロが好きらしい。(参考)
それは置いて置いたとしても、上から読んでも下から読んでも同じ回文でプログラムの紹介をしていたり、
(しかもそこまでメジャーではない回文なので、勉強になる笑)
「い」→「お」に文字列を変換するプログラムの対象が「いっぱい」だったり、
「アルファ・ケンタウリを目指せ」などマニアックなものがあったり色々と楽しいです。
そりゃ人気が出る理由がわかりますわ、楽しいもん他の本に比べて圧倒的に…
感想
人気の本であるということと、おすすめされた本であることという理由から実際に本を手に取り勉強しましたが、人気が出る理由がしっかりとわかりました。
技術的な部分をきちんと抑えることはもちろんなのですが、その解説がわかりやすいし遊び心に溢れた本に仕上がっている。
真面目な本ほど遊び心が少なくなりがちですが、やっぱり遊び心っていいですよね。大好きです。
あ、もちろんPythonに対する理解はかなり深まりました。この本は入門書ということもありもちろんこれから勉強しなくては行けない部分が多々ありますが、Pythonに対して俯瞰的な視点を持つことが出来るようになったかと思います。
さぁ、次はDjangoの勉強だ。機械学習は一旦その後。