Python学習チャンネル by PyQ

Pythonのオンライン学習プラットフォームPyQのオフィシャルブログです

Pythonを独学で始めたい人に伝える私の思いと感じたこと

f:id:konie_ko:20190515135303p:plain こんにちは。konieです。

皆さんはプログラムを組んでなにかつくってみたいと思ったことはありませんか?

今の世の中、私たちは、誰かがプログラムしてつくられたものに囲まれて生活しています。そういったものを自分でつくってみたいと考えたことはないでしょうか。
けれども、プログラムを組んでなにかつくるとなると、小学生の粘土で遊ぶように好きな形をつくってすぐに出来上がりというようなことはありません。

プログラムを組んでものをつくるには、まずプログラミング言語を学ばなければなりません。学習するということはそれなりに時間も必要ですし、プログラミングというだけで、なぜだか敷居が高い気持ちになったりしますよね。

ですが学習し始めてみるとそんなことはありません。最初は勇気がいるかもしれませんが、何事も一歩踏み出してしまえば新しい世界が広がっているのです

学習を始めた時の感覚はその時にしか感じられませんし、変わっていくこともあると思います。ですが、私は実際に触ってみて「きちんと時間を取り、学んでいけば必ず何かを作り上げることができるはず」と思いました。

その理由をお伝えします。そして今、プログラミングを独学しようか考えている人の後押しになればと思います。

プログラミングを勉強しようと思う気持ち

私はPythonとは違うプラグラミング言語にはなりますが、基礎文法を学んだことがあります。大学時代いくつかの講義を受講した時に学びました。
その際実際に課題としてプログラムを組んでいろいろなものをつくりました。

例えば、JavaScriptというプログラミング言語を用いてWeb上にグラデーションのように並んでいる色を選択したら、その色のRGB(R:赤、G:緑、B:青)の数値を表示してくれるものをつくりました。

しかし、大学卒業後はIT関係とは別の職種についたため実務的なプログラミングはすることなく現在にいたります。

ですが、学生時代にプログラミングを学んでいる時に感じていた「コードを書くのが好きだなぁ」「ものをつくって動かすの好きだなぁ」という感覚は簡単に忘れられることができないほど私の中では大きなものでした。

ですので常々「いつか仕事じゃなくてもプログラミングをもう一度学びたい」「なにかつくってみたい」と思い続けていました。

そして今私の周りには自由自在に(私にはそう感じます)プログラミング言語を駆使してコードを書くエンジニアの人たちがいます。その人たちをみていると私もやりたいと思うようになり、「いつか学び直したい」と思っていたいつかの第一歩を踏み出すことができました。

Pythonの独学

私はプログラミングを学んだことはありますが独学で学んだことはありません。学生時代にはいくつかのプログラミング言語を学んできました。使うプログラミング言語を選ぶのは教授なので自分はどの言語にどういった違いがあってというのはよくわからずに学んでいました。

しかし社会人になって独学で学ぶということは、どの言語かに絞って学習しなければなりません

まず、独学しようと思った時にどの言語を選ぶべきか悩みました。今まで学習してきたことのある言語でもよかったのですが、せっかくなので初めての言語に挑戦しようと思い、Pythonを選びました。

Pythonの存在自体も半年くらい前に知ったところです。ですが初心者には学びやすい言語ということを聞いたのでそれを決め手にやっています。

学習していく中で独学でも大丈夫だという手応えを感じました。

今、感じていることと大事だなと思うことを次の項目で書いていきたいと思います。

初めてでもPythonのコードは書きやすく、読みやすい

シンプルなコードで実装可能

コードはとても書きやすいです。私の場合以前の他言語の知識がある分書きやすかったのもあるのかもしれませんが、それを抜きにしても書きやすく読みやすいと思います。

最初に勉強する時に初心者の人にとって書きやすいのはもちろんですが、読みやすいことはとても重要だと思います

今の時代インターネットで検索すれば大体のことはわかります。プログラミングのコードも検索の仕方次第でたくさん出てきます。そこで自分で一から書けなかったとしても読むことが容易であれば、探し出したものの中から組み合わせて、自分のやりたいことをプログラムに組み込むことができるからです。

もちろんある程度学習していないと何をしているコードなのかわからないかと思います。その何をしているかという部分だけでも、とても簡単に記述できるものになっています。他言語ではもっとややこしく長く書かなければならないコードでもPythonでは短くまとめられて書くことができます。

これは以前のブログ記事、「さまざまなプログラミング言語の特徴を紹介!その中で、Pythonってどんな感じ?」の中で紹介した「PythonとJavaのコードを比較してみる」を見ていただけるとすぐわかると思います。

2+5の結果を表示させるだけでもこれだけ違います。

Python

print(2 + 5)

Java

public class SampleJava {
  public static void main(String[] args) {
    System.out.println(2 + 5);
  }
}

どういうことをしているものなのか覚えてしまえば、仮に複数の組み合わせのコードだとしても読むのは難しくありません。なので初心者の人でも始めやすいと思います。

関数の区切りにインデントを使っているのでわかりやすい

短く簡潔にコードを書けることもいい点なのですが、私が一番「わかりやすい!」と思ったところがあります。

それはインデントを下げることで関数の中身を見分けられることです

もともと学んでいた言語では関数は中身を{}で囲む必要がありました。簡単なプログラムだと困ることはありません。ですが複雑なプログラムになると、関数の中に入れ子のようにたくさんの関数が入っていきます。

そうすると一番大枠の関数が終わるときに閉じ括弧が複数現れます。たくさんの閉じ括弧があると、「この閉じ括弧はどの関数の終わりを示しているの?」というようなことになってしまいます。

Python

for i in range(10):
    print(i)

Java

public class SampleJava {
  public static void main(String[] args) {
    int sum = 0;
    for (i = 0 ; i++ ; i<10){
      sum += i;
      System.out.println(sum);
    }
  }
}

このJavaの例ですが今はわかりやすくインデントを下げて書いています。しかし、以下のようにも書けます。

public class SampleJava {
public static void main(String[] args) {
int sum = 0;
for (i = 0 ; i++ ; i<10){
sum += i;
System.out.println(sum);
}
}
}

一気に見づらくなったと思います。そして閉じ括弧がどれに対応するかがわかりにくくなったと思います。Javaではインデントを下げることは必須ではないので書く人によって変わってきます。

ですが、Pythonはインデントを下げることでその関数の中を表すので関数の始まりと終わりが一目見てわかるのです。そこが私にとって一番「Pythonってわかりやすい!」と思ったところです。

Pythonを独学で学び始めて大事だと思うこと

学習時間とモチベーション

何事も学習する時には時間が必要です。独学で勉強していくということはその時間を自分自身で生み出していかなければなりません。これが結構難しいです。

会社が終わってからだったり休日だったり、日常生活の間に時間を作っていくと思います。ですが毎日疲れている中で勉強時間を作り出すというのはしんどいです。

しんどいと思いながらするのは嫌だと思います。そこで私がやっているモチベーションをあげつつ時間をとる方法があります。

  • 今日読む(やる)範囲を決めること

今日はここまではするぞと決めてから始めることです。小さなゴールを決めることでそこが終わっただけでも達成感があります。

  • できるときは気ままにコードをいじってみること

書籍などの例題だけ読むだけ、実際にコードを書いてみるだけより、思ったように書いてみて動くか試してみることがモチベーションアップに繋がります。

私は例題を少し変えてみたりして動かすことで、「お、ここは理解できてる。」となり理解度も実感しながら次に進んでいます。

あと単純に自分で考えてみたコードで思ったように動くと楽しいです。楽しいと自然と「明日も時間作ってやるぞ」ってなります。

学習するのに大事だと感じたのは実際にコードを書くこと

プログラミングの学習は書籍等を読んで終わりということはありません。

今は漠然とプログラムを組んで何かをつくってみたいと思っていても、学習段階のうちから実際にコードを書くことをするべきです。

書籍等を読んで理解したとしても、実際にコードを書いてみると必ず失敗すると思います。書籍を読むだけだと時間はそこまでかからないと思います。ですが失敗から学べることは大きいですし、自分で手を動かすことでより理解が深まります。

ですが、実際にコードを書くとなると時間がかかります。しかしこのコードを書くということを学習に取り込まなければ、プログラミングを習得することはできないと思います。失敗してエラーが出て書き直して、その繰り返しで学んでいけると私は感じました。

時間はかかりますが、きちんとコードが書けるようにならないとプログラミング言語の学習が終わったとは言えないでしょう。

なので実際にコードを書くところまでを学習に組み込んでください。Pythonは初めてでも学びやすい言語なので他の言語よりは書くことに時間を取られにくいと思います。

自分できちんと参考書を読む、実際にコードを書いてみるというところまでできればぐんと学習の質は上がると感じました。

まとめ

このように私はPythonは未経験でしたがそこまで大きく躓くことなく始めることができました。むしろ学習しやすいように思います。

コードが読みやすく、書きやすいので初めてでも学習しやすかったPythonはおすすめできるプログラミング言語だと思います。

また時間をかけて学べば初歩的な単元でつまづくことも少なく、理解できるようになります。後々複雑なコードを書くようになっても基礎が理解できているので大きく立ち止まることはないと思います。

私もPythonを学び始めてまだまだですがこれからもしっかり学んでいこうと考えています。この記事を読んでくださっているのであれば、ぜひ一緒にPythonを勉強していってみませんか。

Copyright ©2017-2018 BeProud Inc. All rights reserved.