プログラミング初心者がPythonの学習方法を比較して紹介します!
どうも、2か月ほど前からプログラミング学習を始めた、くりふぁふぁ(@kulifafa)です。
最近話題のプログラミング言語「Python」に興味が湧いてきたので、主にPython3の学習することにしました。
ちなみにプログラミングを学習するのは初めてなので、完全な初心者状態です。
そんな自分の紹介を含めて、初心者視点で、私が実際に学習に利用しているサービス(Paizaラーニング・PyQ・Udemy・本)を紹介していきます。
プログラミングを学習しようと思った理由
私がプログラミング(Python3)を学習しはじめた理由はシンプルです。
株価のスクリーニング&機械学習プログラムを作ろうと思ったからです。
実は以前から最大10万円程度と少額ですが株を売買しています。
デイトレードのような短期トレードではなくて、上がりそうな株を買ってしばらく放置しているスタイルです。
効率は悪いですが、気づいたら株価が上がっていて思わず嬉しい状態になることも(もちろん気付いたら含み損でガッカリすることも多いですが…)。
ただ、困ったことに10万円以下で買える株で、今後しばらく株価が上がりそうな株を探すのはなかなか手間がかかる作業です。
証券会社やwebサイトのスクリーニング機能を使って探していきます。
上限の金額から総当たりでチャートを見て良さげな銘柄をキープ、いくつか候補がでたら比較して絞っていくスタイルです。
その作業に結構な時間がかかる上に、何時間も探したのにも関わらずしっくりくる銘柄がなくて株を買わなかったことが何度もあります。
だから休みの日の暇なときぐらいにしか、良さそうな株を調べられません。
せめて、ある程度まで銘柄を絞り込めたら楽になりますし、今よりかは気軽に株の売買を検討することができます。
自分用のスクリーニングプログラムを作れば楽になるのかな~と思ったのが、私がプログラミング学習を始めた大きな理由になりました。
Pythonを選んだ理由
株価のスクリーニングプログラムを作ろうと思った訳ですが、まずどのプログラミング言語を使用するのか決める必要があります。
- 分からないことがあったら検索しやすいメジャーな言語
- 初心者の入門言語としても人気がある
といった理由でPythonとrubyが候補になりました。
機械学習ではPythonが良さそう
ただ、調べているとPythonでは機械学習が得意ということが分かりました。
機械学習という単語を初めて知ったときは「いったい何のことだろう?」状態。
さらに調べてみると、人工知能の分野のことでコンピュータがデータから学習して人間が行っているような判断をすることらしいです。
機械学習を使って株価を分析できれば、利益得ることができるかも。
そんな機械学習への期待からPythonを選びました。
私(くりふぁふぁ)のプログラミング経験
プログラムを作ろうとした訳ですが、残念なことにプログラミング経験はありません。
ちなみに文系で数学の授業は苦手でした。
資格はITパスポートだけ持っています。
他には基本情報技術者試験に落ちた経験があるぐらいです。
完全にプログラミング初心者といっていいでしょう。
しいていうと、中学生ぐらいのときに「なんかカッコイイから」という中二病的な理由で図書館のC言語の本をいくつか借りた記憶があります。
ただ当時はさっぱり理解できませんでした。(今でも・・・)
Pythonの学習方法
2か月ほど前から空いた時間にPythonの学習を始めました。
現時点での学習方法を紹介していきます!。
Paizaラーニング(オンライン動画学習サービス)
Paizaラーニングとは、解説動画を見ながらプログラミングができるサービスです。
1チャプター当たり3分から5分の動画になっているので気軽に学習することができます。
if文についての動画、ループ処理を学ぶ動画、おみくじを作ってみる動画、という感じです。
プログラミングを全く知らない人でも、ゼロからステップアップしながら学習を進めていくことが可能です。
実は、次に紹介するPyQを最初に利用していたのですが、恥ずかしながらPythonの学習に挫折しかかりました。
今ではPyQを活用していますが、全くプログラミングを知らない当時は難しいと感じてしまいました。
そこでPaizaに登録して動画を見ながらコードを打ってPython学習を始めました。
動画解説なので授業感覚で学ぶことができますし、おみくじ・RPGを作るといった簡単だけど達成感があるプログラミングでPythonの基礎の基礎を理解していくことができました。
だからプログラミングが初めての方にはPaizaラーニングから学習されることをおすすめします。
ちなみに今のところPython3のレッスンは無料となっているので、迷っている方はとりあえず始めてみてはいかがでしょうか。
あと、何より環境構築が不要ですぐコードを打てるのが初心者には嬉しいです。
anacondaの設定とかはなかなか大変でしたので……。(設定したもののそれから触っていない気が)
ちょっとプログラミングをしてみようと思ったときに、ネットに繋がっている限り、すぐにコードを試すことができます。
こちらのPaiza.IOを利用してサンプルコードを試したりしています。
PyQ(オンライン学習サービス)
こちらはPaizaラーニングと異なり動画での説明はありません。
しかしPaizaラーニング同様、レッスンごとに学習していくスタイルとオンライン上でコードの判定ができます。
学習のスタイルは、まずコードを写経する→解説を見て理解、それらを何度か繰り返した後に、理解できているか演習で確かめる、といった感じです。
コードの写経がメインで、はじめの頃は理解できていくのか不安でした。
けれども何回か繰り返し写経していると分からなかったところも、徐々に理解しつつあります。
写経が効果的という記事も見つけました。
誰もが知ってるけど敢えて言わない確実に身につくプログラミング学習法 - WirelessWire News(ワイヤレスワイヤーニュース)
なぜ?と考えながら写経していくと効果がありそうです。
一度挫折しかけた私ですが、Pythonについてなんとなく理解した今では、PyQをかなり活用しています。
比較してみると、Paizaラーニングはプログラミング完全初心者でも抵抗なく学習ができます。
ただしPaizaの解説動画はRubyがメインコンテンツとなっているようです。
Pythonについての解説動画はRubyに比べるとまだまだ少ないです。
PyQでは、文字通りPython専門なので重点的に学習することができます。
「初心者が実務で通用するレベルに学習できる」というのがPyQの特著です。
機械学習の入門までサポートしているPyQの濃さは、これから更に学習を進めて体感していきたいです。
あと、挫折しかけたときにPyQのオフィシャルブログのこちらの記事を見て諦めずに学習を続けることができました。
諦めていたら、プログラミングを理解していくことはなかったでしょう。
続けていたからこそ、徐々にですが理解が深まっているのかなと思います。
Udemy(オンライン動画講座)
こちらはPaizaラーニング、PyQと異なり「動画のみ」のコンテンツです。
プログラミング講座専門ではなくて、ビジネス講座やデザイン講座など、たくさんのジャンルの講座があります。
学習期限がないので講座を一度購入すると、基本的に講座の視聴がいつまでも可能とのことです。
プログラミング学習に限っていえば、環境構築は自分で行う必要があります。
以前、プログラミングを始めようと思ったときに4つほど講座を購入しましたが結局放置しています。
月額料金を払っているPyQとPaizaのほうが優先順位が高いです。
ただ、Udemyの一度購入すれば期限がないという利点を活かして、気に入ったときに購入しておくのも良さそうです。
通常の価格は、1万円から2万円ぐらいの講座が多いですが、80%~90%ほどの割引セールが開催されるときがあるので、その際に購入するとお得です。
私も以前の割引セールに買いました。
書籍
入門Python3
オライリーの『入門Python3』を購入しました。
現時点の感想は、もう少しPythonに慣れてから購入でも良かったかなと思っています。
今後、困ったときに役に立ちそうな気はします。
紹介されているコードをPaiza.IOに書いて試して学習していこうと思います。
- 作者: Bill Lubanovic,斎藤康毅,長尾高弘
- 出版社/メーカー: オライリージャパン
- 発売日: 2015/12/01
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (3件) を見る
あとがき
ようやくPythonの基礎文法が分かってきた気がするような、でもまだなんとなくしか理解できていない……。
というレベルなので、ある程度Pythonやプログラミングの世界を理解してから、こういった記事を書こうかと思いました。
そのほうが上手く解説できたり間違いもないでしょう。
ただ、あまりPythonのことを分かっていない状態だからこそ、同じような初心者の方に共感してもらえることがあるかな、と思ったので記事を書くことにしました。
過去の悩んでいる自分が読んで参考になるような記事を書くのが目標です。
そんな理想のほかにも、単純に忘備録を兼ねた記事も書いていこうと考えています。
そのため随時、加筆修正や新規投稿をしていこうと思います。
とりあえず独学ということで色々試しながら勉強しています。
まだまだ専門的な内容の記事は書けそうにないですが、参考になれるように、これから更に学習を進めていきます!