こんにちは!ぼりたそです!今回は少しテイストを変えた記事を書いてみました。実は某、Pythonを始めて大体2年から2年半くらい経ちます。まだまだ未熟者ですが、初学者は抜けて中級者といったところではと自負しております。
今思えば、Pythonに出会う前と後ではかなり世界観が変わったような気がしますね。Pythonを始めてみるまではプログラミングなんて触ったことありませんでしたので。
そんなことを思っていたら、これまでの道のりを徒然なるままに書きたくなってしまいまして…
これからプログラミングを始めようと考えている方がいましたら、少しでも参考になればと思います。
この記事は以下のポイントでまとめています。
Pythonを始めたきっかけ
Pythonを始めたきっかけは仕事で実験データのまとめをしていた時でした。
実験データをまとめる際にExcelのデータをコピー&ペーストしてグラフにしてグラフの体裁を整えるといった簡単なものでしたが、量が多かったんですよね…
毎週、30〜40件ほど同じ処理が必要でして、時間にすると3時間ほどは取られていたと思います。
同じ作業を3時間なんて某にはとても耐えられない苦行でした。
そこで、どうにかしてこの地獄の時間を短縮できないかGoogle先生に相談したところ、Pythonというプログラミング言語を使用すれば全自動化できそうとのことでした。
プログラミング言語なんて触ったことありませんでしたが、調べてみるとPythonは人間が直感的に理解しやすい文法であり、可読性に優れた言語であると書かれているではありませんか。
キタッッ!!これだ!!
その瞬間ビビッときましたね。
これなら今の地獄のコピペタイムが全自動化できるぞと確信した某はPythonを学ぶ道を突き進むことにしたのです。
Pythonを学んだ道のり
さてここからはPythonを学び始めてからの道のりについて書いていきますが、大きく3章に分けたいと思います。
- 環境構築編
- コーディング編
- 腕試し編
ではいってみましょう!
環境構築編
はい、環境構築編ですが、ここで大事だなと思ったことを最初に挙げておきます。
- YouTubeの偉大さ
- メンターの大切さ
それではみていきましょう。
Pythonという魔法のアイテムを知り、学んでやるぞと意気込んでいた某ですが、ふとあることに気がつきました。
どうやって始めればいいんだ?こりゃ?
まあ、今までプログラミングなんて触ったことなかったので始め方すらわかりませんでした。
だがしかし、そこは YouTubeの力を借りてPythonの始め方を調べました。すると、何やらPythonのスクリプトを実行するために環境構築をしなければいけないとのこと…
色々なYoutuberの方の動画を拝見しましたが、某が参考にしたのはキノコードさんの動画が多かったです。一つ一つの説明が丁寧で分かりやすかったのでオヌヌメですね。
一例として一番初めに見た動画のリンクを載せておきます
これでPythonの環境構築は完了っと…
とはならんのですよ!!!
動画を見て8割型はなんとかなるんですよ、確かに。
でも細かいところで分からなかったり、何かうまくいかないんだけど…みたいなケースがあって中々終わらないんですよね。
これは初心者が独学でプログラミング始めると続かない訳だなと感じました。
まあ、某も実際どうしたもんかと頭を悩ませていましたが、とこで登場したのが大親友のO君ですね。
O君はたまたま企業でSEをしている人だったので、完全にのび太くん状態で泣きつきました。
そこで何とかO君の助力もあり、無事に環境構築が完了しました。
個人的には環境構築が一番手間取った気がしますね。
あと、よく本とかに書いてあるのですが、初心者が独学でプログラミングを始めるときはメンターを見つけてからの方が絶対にいいです。じゃないとほぼかくで詰みます。
某の場合はO君がメンターとして見てくれたので続きましたが、独りだったらどこかで挫折してやめていたような気がしますね。O君にはマジで感謝です。
ちなみに環境構築で要した時間は2週間くらいだった気がします。
コーディング編
コーディング編ですが、ここで大事だと思ったことを先に挙げておきます。
- コーティングで作りたいものを明確にしておく
- メンターの大切さ(n回目)
それではみていきましょう。
Pythonを実行できる環境ができたので、早速、提携業務を自動化するコードを書き始めました。
後から思いましたが、漠然とプログラミングを学ぶよりも作りたいものがある状態で学んだ方が吸収早いと思います。
某も場合は作りたいものが明確だったので、調べる内容も決まってきます。また、地獄の作業ゲーを自動化したいという強いモチベーションがあったので多少の壁があってもなんとか乗り越えようとするエネルギーがありました。
そんなこんなでコードを書いていき、ついに完璧なコードが完成したのです!
早速、実行!!
しかし、何もおこらなかった…
唖然としていた某でしたが、実行結果を見てみるとどうやらエラーとのこと。でも全部英語で書かれているし、何言ってるか全然分からないんですよね。
とりあえずダメだということは分かり、先ほど完璧なコードと謳っていた自信が一気に崩れ落ちる音がしましたね。
そこで何とかエラーの詳細について調べようとしたんですが、正直最初はどうやって調べたらいいのかも分かりませんでした…
どう検索すればエラーの解決方法が出てくるのかがイマイチ分からなかったんですよね。
そこで登場したのが某の大親友O君です!O君はたまたまk(以下省略
ということでエラーが起きた原因を一緒に考えてくれ一つ一つエラーを解消することができました。
O君マジで神っす
ここでもやっぱり思ったのが、メンターは大事だなってことでした。本当に独りだと何も分からないので、挫折しますねこれは。
苦悩の末、やっと実現したかったコードを実装することができました。初めて自分の思っていたことをコードで表現できたときは脳が震えるほど感動したのを覚えています。この感覚を味わえるのなら苦労した甲斐があったというものです。
この後、1年くらいは自分の実現したい機能を実装しまくったという期間になります。
腕試し編
はい、腕試し編ですが、ここで大事だと思ったことを先に挙げておきます。
- 色々な問題集とかを解いていく
- 資格を取得してみる
ではいってみましょう。
無事に第一弾のコードを実装できた某ですが、それからも自分の欲しい機能を考えていくつかコーディングしてみました。この間は結構楽しくてあまり苦とは思わなかったですね。
ただふと思ったのが、
Pythonて何ができるんだ?
Pythonはデータ分析とか機械学習の分野で使われているってことは知っていますが、具体的に何がどこまでできるとか体系的なことは一切知らなかったんですね。
そこで、一度Pythonについて体系的に知ろうかなということで資格を取ってみることにしました。取得した資格は以下の二つです。
- Pythonエンジニア認定基礎試験
- Pythonエンジニア認定データ分析試験
資格の勉強を通して、Pythonてこんなことができるんだ!ってことの連続でしたね。
今まで実装したいコードに対して必要な情報しか調べてなかったので、体系的に学ぶということの重要さを知りました。
資格を取得した後はより実践的な関数などを学びたいと思ったので、問題集を解いたりしました。
某が解いていたのははやたすさんがUdemyで出している問題集でした。下にリンクを貼っておきますね。
Progateの次に学ぶ!Python演習問題100問パック!〜データ型・制御構文編〜
https://www.udemy.com/course/python-exercise100/
前提スキルとしてはProgateのPythonを一通り完了することが挙げられています。一つ一つ無駄のない問題で100問構成となっており、解説もしっかりとしているので間違いないですね。
この問題集を解くことで今まで知らなかった関数や、よりスマートに記述できる記法なども学ぶことができて個人的にはものすごくためになりました!
こんな感じでPythonの知識がまばらだったところを資格や問題集を通して体系的に学ぶとことでPythonの基本的なところは大体網羅できた感じですね。
ここまででPythonを始めてから1年半くらいになります。ここで得られた知識を活かして自分が書いたコードの見直しや新しいコードを書いたりとしていたら、気づけば2年半くらい経過していたという感じですね。
終わりに
長文になってしまいましたが、某がPythonを学んできた道のりをまとめてみました。今思えばいろんなことがあったなあと感じましたね。個人的には環境構築が一番しんどかった気がします。助けてくれたO君には感謝ですね。