駆け出しエンジニアの作業ノート

駆け出しエンジニアが作業ノート風にまとめるページ(関係無い事もしばしば)

「みんなのPython勉強会#53」に参加してきました

あけましておめでとうございます。新年最初の記事となります。

 

1月16日に「みんなのPython勉強会#53」があったので、行ってきました。

 

startpython.connpass.com

www.slideshare.net

http://www.tsjshg.info/TSUJI_20200116.pdf

speakerdeck.com

 

途中からの参加であったため、最初の発表はあまり聞けていませんが、2番目の「Python本の著者がPythonの本を読み漁ってみた」は今まで勉強会で聞かない発表だったので、とても印象に残りました。ここでは、Pythonに関する本を買い漁りレビューするというものでした。なお、発表者の知り合いが書いた本は除外したそうです。ちなみに、発表者の方は以下の本を執筆しています。

 

Pythonスタートブック [増補改訂版]

Pythonスタートブック [増補改訂版]

 

 

では、まずは言語の解説に特化した入門書です。

 

やさしいPython (「やさしい」シリーズ)

やさしいPython (「やさしい」シリーズ)

 

 

業界では通称「麻奈本」と呼ばれているシリーズの1つで、シリーズ累計100万部の売り上げを誇るそうです。特徴としては、

    ・クセが無い解説

    ・内包表記や関数デコレータ、ジェネレータなど入門書ではあまり見ない内容が入っている

    ・SQLを含むDBの話や機械学習の基本も入っている

との事だそうです。ちなみに同じシリーズとしては以下があります。

 

やさしいJava 第7版 (「やさしい」シリーズ)

やさしいJava 第7版 (「やさしい」シリーズ)

 
やさしいC 第5版 (「やさしい」シリーズ)

やさしいC 第5版 (「やさしい」シリーズ)

 

 

 

新・明解Python入門 (新・明解シリーズ)

新・明解Python入門 (新・明解シリーズ)

 

 プログラミング言語界では巨匠とされる先生の本です。特徴としては

    ・網羅性が高い

    ・他言語の経験者には特におすすめ

との事だそうです。ちなみに、同じ著者の本としては以下があります。

 

新・明解Java入門 (明解シリーズ)

新・明解Java入門 (明解シリーズ)

 
新・明解C言語 入門編 (明解シリーズ)

新・明解C言語 入門編 (明解シリーズ)

 
新・明解C++入門編 (明解シリーズ)

新・明解C++入門編 (明解シリーズ)

 

 

 

Learn Python 3 the Hard Way 書いて覚えるPython入門

Learn Python 3 the Hard Way 書いて覚えるPython入門

  • 作者:Zed Shaw
  • 出版社/メーカー: 丸善出版
  • 発売日: 2019/02/01
  • メディア: 単行本(ソフトカバー)
 

 こちらは洋書の翻訳版となります。この本の特徴としては

    ・書いて覚えることを主眼としているため、コピペの禁止・自分で調べることをうながしている

    ・対話式ではなくエディタを用いて書いて、後ほどコマンドで実行する

との事だそうです。正直、自分自身はあまりこのタイプの技術書には出会ったことはありません。

 

以上の本はPythonのみを取り扱う書籍ですが、以下はPythonと合わせて学べる書籍となります。

 

問題解決のPythonプログラミング ―数学パズルで鍛えるアルゴリズム的思考

問題解決のPythonプログラミング ―数学パズルで鍛えるアルゴリズム的思考

 

 

タイルの配置やハノイの塔、数独などパズルを解くことでプログラミングを学ぶという本になっています。パズル好きにはおすすめの本だそうです。ただ、内容的には難しいのと、変数名がスネークケースになっていないのがネックだそうです。

 

 

 

あまり、類書を見かけないタイプの本だそうです。放物線のシュミレーション、拡散方程式、回帰分析からゲノム解析など高度で多様な応用事例が含まれているとの事だそうです。東大教養学部のテキストということもあり、周辺知識は講義等で学ぶという前提で書かれているようです。

 

 

Head First Python 第2版 ―頭とからだで覚えるPythonの基本

Head First Python 第2版 ―頭とからだで覚えるPythonの基本

 

 

「脳を刺激する」というをテーマに置いている変わった入門書だそうです。個人的に書店で見かけた際はとても気になっていました。いたるところに、挿絵や矢印を使った解説を用いておりガヤガヤした印象を受けたようです。本では、前半で言語の解説を、後半でFlaskを使ったWebアプリ開発をしています。

 

以上までがPythonに関する本の紹介でした。以下は番外編となります。

 

 

 

オバマ前大統領、ジョブズザッカーバーグなどの言葉を引用しながら、「プログラミングを学べ」という一般向けの入門書になっているとのことです。主に、子供向けのツールを紹介しているようです。

 

 

コンピュテーショナル・シンキング

コンピュテーショナル・シンキング

 

 

様々な問題を解くアルゴリズムを紹介している本です。例えば、以下の条件に沿ったプログラムを書くとします。

    ・自然数nを1つ入力する。

    ・nを逆から読んだ自然数を出力する。例えば、入力がn=31522ならば出力は22513である。

 

def rev_n(n):
one = 0
ans = 0
while n > 0:
one = n % 10
ans = ans * 10 + one
n = (n - one) / 10
return int(ans)

 

本では以上のコードが提示されていますが、会場では別のコードが提示されました。

 

def my_rev_n(n):
str_n = str(n)
rev_str = str_n[::-1]
return int(rev_str)

 

言語をある程度覚えてからは中々入門書を手に取ることは無かったので、面白いお話だと思いました。ちなみに自分では以下の本を使って勉強しました。

 

実践力を身につける Pythonの教科書

実践力を身につける Pythonの教科書

 

 

クジラ飛行机さんの本は自分にとって非常にフィットしていると感じ、他にもいくつか購入しました。

 

増補改訂Pythonによるスクレイピング&機械学習 開発テクニック

増補改訂Pythonによるスクレイピング&機械学習 開発テクニック

  • 作者:クジラ飛行机
  • 出版社/メーカー: ソシム
  • 発売日: 2018/12/15
  • メディア: 単行本
 

 

今年も色々な勉強に行ってみます。