40代プログラミング初心者がpython始めて半年！独学で勉強が続いている理由と読んだ本


加筆修正などした記事が私のブログで公開しているのでもしよかったらそちらをお読みください
マークダウンになれない・・・

https://usagipy.com/40_python_enjoy_book/

こんな記事も書いてます

ツイッターアカウントフォローお願いします
https://twitter.com/usagipycom

こんな記事も書いてます

https://qiita.com/usagipy/items/525e8fa3a3e76ef186d6

https://usagipy.com/python_twitterbot_1month/

https://usagipy.com/access_hate__sql_like/

友達がpythonでPCゲームのレベル上げツールを作っていた
それを聞いて、pythonって便利なのね。と思いその後色々あってプログラミングを勉強することにした

プログラマー35歳までみたいな世の中で40代おそすぎ！ってあるかもしれない
PCがあって、無料の教材はネットに転がってるし、本もたくさんあるし、挑戦するのは無料だし2022年の1月ぐらいから勉強を始めた

入門書って成果物がないからつまらないなと思ってそれ以外になんかないかなって本屋さんをふらふらしてたら

<h2>python自動化 みたいな書籍がいっぱいあることに気がついた

なるほど、もしかしたら仕事楽になるんじゃないかそんな思いから次の本を買った

シゴトがはかどる Python自動処理の教科書

Macbookで開発環境を整えるところから始めたけれど、まずそこがうまくいかずそこで挫折しそうだった

なんとか、その壁を乗り越えてpythonの学習が始まった

Macbookを工場出荷時に戻して再インストールして解決させるという力技も使いました

エクセルで100枚のシートを作ったり、ラベルシートを作ったり、いろいろやってすげーな！面白い。Wordとかもいじれるのね。事務職だから意外と助かるなぁ～っと思いながら学習する

学習が進むと、webスクレイピングの項目に進んだ

ヤフーニュースをスクレイピングしてみたり。そこで、ふと在庫管理ツールでも作れるんじゃないか？と思い頑張ったら作れた。

全角スペースで1日悩んだり、1行書いては数日悩みなど繰り返し。

基本は買った書籍をベースに頑張ったけど、この本とりあえずいろんなことできるよ！っていう感じで細かい説明がない

<b>この本は初心者に最適化と言われたらそうではないと言いたい

<b>しかし、勉強を始めるきっかけにはこの手の本はちょうどいい

<b>ソースコードを丸写しするだけじゃなく、ちょっといじって遊んだり、これいじったらどうなるの？って興味がわかないとどんな本も役に立たないと思う

私はいたずらに、

エクセルファイル1000個作ったらどうなるんだろう？
大量にwhile文で計算してみたらどうなるんだろう？

とかその時その時、得た知識でくだらないことをしていました

pythonの処理速度が遅い！っていうのを体感できた。いやそもそも他の言語でも同じぐらい時間がかかるのでは？などと別の言語にもちょっと興味が湧いたりしました

そんなかんじで遊びながら

わからないところはネットで検索

プログラミングの独学って大変だなぁっと思ったけど、動いたときには嬉しいよね

そして、今度はAPIの使い方とか、twitterbotとかLineBotとか作れるみたいなことを学習した

天気予報を見るのがめんどくさくて、傘もほとんど持ち歩かない
でも家族が天気予報Lineに届いたら便利ということなので雨が降る日だけ通知するLinebotを作った

好評だったので、友達にも紹介したら喜んでくれた

大変だったのがレンタルサーバにcron設定する方法とpythonの設定とかをSSHで繋いで色々いじるのが大変だった。もうこの辺になると本とか関係なかった

ここまで2ヶ月ぐらいだった気がする

書籍のサンプルコードは関数化していたんだけど、pythonの基本を学習してなかったので、

returnの戻り値ってなによ？って感じだった。

でもノリで勉強しながら書いてたらいつの間にか、繰り返し作業は関数化できるようになっていた。

今もあまりわかってなくて、関数の変数をどこまで指定すればいいのか理解していない

余分に入れているかもしれないなと思いながら少しずつ効率良くなっていってます

Webサービスを作りたくてDjangoのフレームワークの本を2冊ほど買って学習した。初心者でもレビューサイトを作れるようになった。
作ったページherokuが有料になったから終了

<b>　herokuはファイルが定期的に消されちゃうようなのです。そのため画像ファイルリンク切れ

AWSのS3に画像を保存してつなぎこみをすればいいらしいが書籍の説明サイトがリンク切れ起こしててできずに諦める

あとスマホだとカラムが変になるのでこのあたりが気持ち悪いレスポンシブルデザインにしたい

購入した本

Djangoのツボとコツがゼッタイにわかる本[第2版]

Python Django3超入門

先にツボコツを読んでから超入門を読んだのだが、先に超入門を読んだほうが良かったなと思った。

実際にDjangoを学習して感じたことはDB操作ができないと作りたいサービスが作れないと思いSQLが必要だなっというふわっとしたイメージが湧いた

<h2>そんななかSQLを勉強すると稼げるらしいという噂を聞いた

スッキリわかるSQL入門 第3版 ドリル256問付き! (スッキリわかる入門シリーズ)

この本をかって、一通りSQLの知識が身についた、問題が多いので、実際に手を動かしながらSQLの基礎がわかるようになった。SQLってなによ？って思ってる人はまずこれからやってみるとよい

この勉強を一通り終えた頃、pythonでDBにアクセスしてSQLでスクレイピングしたデータをいれたいなと思っていろいろ調べた。

MysqlとやらをPCにインストールするところから悩みつつ、pythonでDBにアクセスしてデータを入れることができた

気がつくと、検索するとQiitaの記事がよく見かけるようになった便利だなこのサイトって思ったよ

5月過ぎてから気がついたこと

<h2>Pythonって機械学習やデータサイエンティストの人向けの言語！じゃあやっとくか

「Python勉強してるんだ！じゃあ機械学習できるでしょ？」

って言われたときに「できません」というのが悔しいので、機械学習も勉強することにした

SQLのすっきりの本がかなりわかりやすかったので、機械学習の本も買ってみた

スッキリわかるPythonによる機械学習入門 (スッキリわかる入門シリーズ)

機械学習ってそもそもなによってところから、機械学習の実行自体は簡単にできてすごいなと

大事なのは、事前準備のデータを用意する。データのゴミを取り除くなど細かい地味な作業が大事だということを学んだ

この本は機械学習の精度を上げる方法に振り切っているので絶対読んでほしい1冊

機械学習面白いね。決定木とか重回帰分析とかはできるようになった

タイタニックで誰が生き残りやすいか
保険のキャンペーンの効果測定とか

実際にいろんなデータを使って学習できたので、実務でなにか意思決定したいときにデータさえあれば、自分で考えるよりも機械学習させちゃえばいいな！これは使えるぞ！っと感じた

ページ数が多すぎてなかなか学習が進まないのと、機械学習させる前のデータの処理がとても大事なので、この本はそういう細かい泥臭い部分を教えてくれました

データサイエンティストってキラッキラした意識高い系のイメージだったけど、泥臭い地味な作業だ・・・と印象が変わりました。

<b>はっ！この頃気がついた

Pythonって

スクレイピングでデータ集めて
DBにアクセスしてSQLでデータ入れて
そこからデータをきれいにして
機械学習させるのか！


だからpythonって便利なのか！

っという自分の中で全体がつながった

<h2>機械学習 画像分析とかテキスト解析とかやりたい

教師ありなしの学習もいいけれど、なんかふわっと面白いことやりたいな、画像とかテキストとか。そんな感じで適当に本を探してたら見つけた

いちばんやさしいPython機械学習の教本 人気講師が教える業務で役立つ実践ノウハウ 「いちばんやさしい教本」シリーズ https://amzn.to/3ufkrOm

マルコフ連鎖とかいうやつで、自動で文章作ったりできるの面白そう
画像認識で手書き文字を認識させる

など今はこれを読んでいる

機械学習をいくつかやってみたいというのであれば、すっきり機械学習よりも、いちばんやさしいPython機械学習の教本のを先に読んだほうがいいかも。テキスト解析、画像解析、データ分析って感じで色々あるから

仕事で使ってみたい！っていうのであれば、すっきり機械学習を勉強したら社内のデータを使ってキャンペーンの効果測定や意思決定をするのに役に立つので、今すぐ仕事で！っていうのであればスッキリがおすすめ

<h2>競技プログラミングなるものがあるらしい

半年ぐらいpython独学で勉強してるけど、なんかマンネリしているし、趣味で勉強しているので、成長がよくわからない。
そんなとき競技プログラミングとやらに出会う。レーティング出るし自分の成長わかりやすいんじゃね？ッと思って
atcoderに登録して問題やってるけどムズいビギナーの問題最初の2問ぐらいしか解けない

そこでアルゴリズムの本を買った

問題解決のための「アルゴリズム×数学」が基礎からしっかり身につく本

アルゴリズムってなに？私文系で商業系の学校だったから簿記はできるけど、数学勉強してないのよ！って感じで始めたけど面白い

でもこの本 C++でサンプルコード書かれてるの

そんなわけで、atcoderのプログラミングできない人用にC++の学習コースが無料であったので勉強してる
python勉強したから、意外と抵抗なく理解できる

プログラミングは最初の一つが大変だけど、2つ目は理解しやすいっていうのはこういうことか！と体感できた

<h2>PythonってIoTにも強いんだって？

C++とか少し初めてみて組み込み系プログラミングはいいぞ！って書いてあった。IoTでちょこっとした機械ならpythonでも問題なく作れるみたいなこと書いてあったので、ラズベリーパイを買ってみた

<h4>どこに向かっているのかわからないが、自分の好きなように学習できるのが独学のいいところ

身内が農家なのでなんかツール作れたらいいなとか、うさぎを飼っているので、監視カメラあったら便利だなとか、夏で熱くなったらエアコンの温度を自動で調整するみたいなこともできたら面白いなと思って今色々本を集めている最中

とりあえずチュートリアルやってる

<h2>超初心者にオライリーや公式ドキュメント勧められても困る

QAサイトとかで初心者はオライリーや公式ドキュメント読めって言われても、初心者すぎて文章が頭に入ってこない。謎の抵抗感がある。英語サイトに出会ったら無意識に拒否反応が出る感じって言ったらいいかもしれない。

ある程度学習すると便利だなぁ～すごいなぁ～って思うけど、出会うタイミングは今じゃない

もちろん、最初からオライリーとか公式ドキュメント読んで、理解できる人はそっちを読んだほうがいいですよ。

わたしは頭が悪いので、ムズい、なんかわけわからないって感じで最初は無理でした。今はすごい本だなぁ～！！便利！！ってわかる。でもすごすぎてまだ私には早い気もする

<b>最初はわからないことがわからない

どんなにいい本でも自分に合っていないと、役に立たない。技術書は特に自分のレベルよりも下の本を読むのがいいと実感しました。

例えるなら、英語の人気の文法書を勧められても読む気力が起きない。

分厚い本を読むよりも、とりあえず薄い本からチャレンジしてみるのって大事

イラストが載っているとか簡単なサンプルコードが載っているとか、そういう本

<b>本を開いて、めっちゃ見やすい、簡単そう！って思える本が初心者の独学が継続しやすい本

少しでもわかりにくいな・・・って思ったら別の本を探してみるのも大事

初心者が独学で勉強するためには１冊やりきるという自信が大切だと思うので、とにかく色んな本を立ち読みして自分に合った本を選ぶのが大事です。

どんなにアマゾンの口コミが良くても、それに頼って買うのではなく、大きな書店にいって、じっくり選ぶのって大切

こういう選び方って電子書籍じゃできないので、やっぱり紙の本って初心者にとっては大切だなと思います

最初の１冊は勉強が続けられるかどうかにかかっているので、勢いで買うのではなく、吟味して納得して買うのが大事ですね

勧められた本はブックマークやお気に入りに登録しておいて、知識がついたら再チャレンジして見るといいです。

<h2>入門書中心だけど、初心者はやっぱり紙の本がおすすめ

最初の方でも書いたけど、電子書籍だと、買わないと全部確認できないので、自分に合っているかどうかの判断が難しい。

その点、紙の本なら大きい書店で中身チェックして自分に合った本を買えるから当たり外れが少ない。

<b>本はほしいと思ったときに買わないとダメだよ！

<b>あなたのお気に入りに何冊買ってない本があると思うのよ！

比較検討できるから、1冊買ったら次はこの本を勉強しようという自分なりのロードマップも作れる

もちろん本を買わなくてもネットで検索すれば、いろいろ情報は集まるけれど、検索する時間はもったいないし、紙の本があれば、自分の学習の進行度合いが、ページ数でわかる

あと、振り返りたいときに、簡単に振り替えれる所が良い。電子書籍とかだと検索してページを探せるけど、

ふわっとあれなんだっけ？
確か、あのへんにあった気がするとか
本に手書きで書き込んだり付箋をして
自分が見やすいようにカスタマイズできる

最初に買った自動化の本は書き込みや付箋が多すぎて、ボロボロだけどどこが重要なのかが汚れっぷりですぐわかるからいい

プログラミング初心者がpython独学するからって　python入門って本を買わなくてよかった。

なんか知らないけど、自動化便利そうだなっていう目的がふわっとあったから楽しく学習できた

デュアルディスプレイとか電子書籍を表示しながら学習できる環境があるなら、そういったのでもいいかもしれないけれど、私には合わなかった。

キンドルで電子書籍買って、学習してるけど、わざわざアプリ開いて、とかめんどくさい。

逆に、本を開くのがめんどくさい人は電子書籍がいいかもしれない

<h3>ブックスタンドはあると便利

Readaeer ブックスタンド

このブックスタンド、六法全書ぐらいの厚さでも余裕で開けるのでおすすめです。角度調整もできるので最高
40歳超えて独学でpython初めて最初はわからなくて全然進まなかったけれど、半年するとエラーコードも怖くなくなった。なんかとりあえず作りたいものは少しずつ作れるようになってきている。

怖いのは年齢を言い訳にして始めないことだなって思った。パソコンがあればどこでも勉強できるしお金がかからない趣味だから40超えて勉強するのはおすすめ

40代でどこまでできるのかな？っていう興味もある。

同年代でプログラミングやってる人はもうすごい人達ばかりだから比較されないし
年下はすごい人も多いし
40代で始めるプログラミング初心者は周りにいないからライバルもいないし気楽なもんです

<h2>プログラミングの勉強で気をつけていること

コピペはしないで、全部手打ちする

初心者のうちはプログラミングの書き方を覚える事が必要なので、手を抜かず、同じようなコードが出てきてもコピペしないというルールを課してました※今も初心者だけど

コピペして動くとエラーに出会う頻度が減るので、エラーの対処方法が学べなくなってしまう。

最初は苦労しましたが、全角スペースやカッコなしとか、そういう簡単なエラーから、難しいエラーコードを読み解く力が付きました。

すると自然と、エラーも減ってくるし、エラーが出てもすぐに解決できるようになりました

<h2>python入門は京大が東大の無料講義で勉強もあり

よくある入門書、　hello world　表示したり、if文、while for繰り返し文、関数など基本的な使い方を学ぶのであれば、

京大のpython入門の無料PDF
https://repository.kulib.kyoto-u.ac.jp/dspace/bitstream/2433/265459/1/Version2021_10_08_01.pdf


東大のpython入門
https://utokyo-ipp.github.io/index.html

こういうサイトもあるし、他にもたくさんpython関係はあるのでそっちも見てみてください

でも、イラスト付きとかの入門書を買ったほうが、心理的ハードルが下がるのでやっぱり入門書は買ったほうがいいよね

自分は辞書代わりに下の本を買いました
そんなに使ってないけど、なんかわからないなってときや、ふわっとなんか便利なのないかなってパラパラめくって読むのが好きです

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

百科事典や国語辞典を1ページ目から読んだりして遊んでたので、知らないことを知れるっていう遊びが結構好き

<h2>プログラミングの学習ってコスパいい

本を1冊3000円ぐらいで1～2ヶ月遊べる

技術書って3000~4000円って一般の本より高いよね。でも、プログラミングスクールとか月額課金タイプの学習サイトに払うよりは安いし納得感はあると思う

紙の本か電子書籍か、プログラミングスクールか独学か、など色々意見はあると思うので、自分に合ったものを選べばいいと思います。

私は紙の本で独学するほうが合っているので、おすすめしたいのは紙の本です。

電子書籍から入りたい人は、ネットの無料教材がいろんな大学からでているので、それを利用してみて使いやすければ、電子書籍をアマゾンで買えばいいと思います。

大事なのは媒体のタイプよりも自分が選んだ学習教材をすべて終えられるかどうかです

<b>雑談

この記事は誕生日が来てから書いてるんだけどね、Macbookが壊れたのよ。修理に7万。諦めたよ。今は10年以上古いパソコンを引っ張り出して使ってるよ。

Qiitaさん　キャンペーンの Macください　もしくはオフィスにある古いマシンでいいからください・・・ 今使ってるデスクトップよりマシなはず！

<b>いつか作りたいもの

視線でテキストを追って瞬きしたらテキストコピーして検索できるみたいなメガネマウスみたいなガジェットとか作れるようになりたいとか夢

メガネガジェットつくりてぇえ～！


<b>そういえば、仕事のツール何一つ作っていない

会社にはそれなりに様々なツールが導入されているので、翌々考えたらうまくルール化できないめんどくさいやつが残っていただけだった

はてぶよろしくお願いしますな～な～
[![はてなブックマーク](https://b.st-hatena.com/images/entry-button/button-only@2x.png)](https://b.hatena.ne.jp/entry/s/qiita.com/usagipy/items/3cedb356702c1301028b)