レポート・コラム-はじめてのPythonプログラミングこんにちは。皆さんはプログラムを組んでなにかつくってみたいと思ったことはありませんか?今の世の中、私たちは、誰かがプログラムしてつくられたものに囲まれて生活しています。いったものを自分でつくってみたいと考えたことはないでしょうか。プログラムを組んでなにかつくるとなると、小学生の粘土で遊ぶように好きな形をつくってすぐに出来上がりというようなことはありません。プログラムを組んでものをつくるには、まずプログラミング言語を学ばなければなりません。学習するということはそれなりに時間も必要ですし、プログラミングというだけで、なぜだか敷居が高い気持ちになったりしますよね。学習し始めてみるとそんなことはありません。最初は勇気がいるかもしれませんが、何事も一歩踏み出してしまえば新しい世界が広がっているのです。学習を始めた時の感覚はその時にしか感じられませんし、変わっていくこともあると思います。私は実際に触ってみて「きちんと時間を取り、学んでいけば必ず何かを作り上げることができるはず」と思いました。その理由をお伝えします。今、プログラミングを独学しようか考えている人の後押しになればと思います。他言語エンジニアがPythonエンジニアになるまでの体験記konieの独学記プログラミングを勉強しようと思う気持ち私はPythonとは違うプラグラミング言語にはなりますが、基礎文法を学んだことがあります。大学時代いくつかの講義を受講した時に学びました。その際実際に課題としてプログラムを組んでいろいろなものをつくりました。JavaScriptというプログラミング言語を用いてWeb上にグラデーションのように並んでいる色を選択したら、その色のRGB(R:赤、G:緑、B:青)の数値を表示してくれるものをつくりました。大学卒業後はIT関係とは別の職種についたため実務的なプログラミングはすることなく現在にいたります。学生時代にプログラミングを学んでいる時に感じていた「コードを書くのが好きだなぁ」「ものをつくって動かすの好きだなぁ」という感覚は簡単に忘れられることができないほど私の中では大きなものでした。「いつか仕事じゃなくてもプログラミングをもう一度学びたい」「なにかつくってみたい」と思い続けていました。今私の周りには自由自在に(私にはそう感じます)プログラミング言語を駆使してコードを書くエンジニアの人たちがいます。その人たちをみていると私もやりたいと思うようになり、「いつか学び直したい」と思っていたいつかの第一歩を踏み出すことができました。私はプログラミングを学んだことはありますが独学で学んだことはありません。学生時代にはいくつかのプログラミング言語を学んできました。使うプログラミング言語を選ぶのは教授なので自分はどの言語にどういった違いがあってというのはよくわからずに学んでいました。社会人になって独学で学ぶということは、どの言語かに絞って学習しなければなりません。独学しようと思った時にどの言語を選ぶべきか悩みました。今まで学習してきたことのある言語でもよかったのですが、せっかくなので初めての言語に挑戦しようと思い、Pythonを選びました。Pythonの存在自体も半年くらい前に知ったところです。初心者には学びやすい言語ということを聞いたのでそれを決め手にやっています。学習していく中で独学でも大丈夫だという手応えを感じました。今、感じていることと大事だなと思うことを次の項目で書いていきたいと思います。Pythonのコードは書きやすく、読みやすいシンプルなコードで実装可能コードはとても書きやすいです。私の場合以前の他言語の知識がある分書きやすかったのもあるのかもしれませんが、それを抜きにしても書きやすく読みやすいと思います。最初に勉強する時に初心者の人にとって書きやすいのはもちろんですが、読みやすいことはとても重要だと思います。今の時代インターネットで検索すれば大体のことはわかります。プログラミングのコードも検索の仕方次第でたくさん出てきます。そこで自分で一から書けなかったとしても読むことが容易であれば、探し出したものの中から組み合わせて、自分のやりたいことをプログラムに組み込むことができるからです。ある程度学習していないと何をしているコードなのかわからないかと思います。その何をしているかという部分だけでも、とても簡単に記述できるものになっています。他言語ではもっとややこしく長く書かなければならないコードでもPythonでは短くまとめられて書くことができます。これは以前のブログ記事、「さまざまなプログラミング言語の特徴を紹介!その中で、Pythonってどんな感じ?」の中で紹介した「PythonとJavaのコードを比較してみる」を見ていただけるとすぐわかると思います。2+5の結果を表示させるだけでもこれだけ違います。}}どういうことをしているものなのか覚えてしまえば、仮に複数の組み合わせのコードだとしても読むのは難しくありません。初心者の人でも始めやすいと思います。関数の区切りにインデントを使っているのでわかりやすい短く簡潔にコードを書けることもいい点なのですが、私が一番「わかりやすい!」と思ったところがあります。それはインデントを下げることで関数の中身を見分けられることです。学んでいた言語では関数は中身を{}で囲む必要がありました。簡単なプログラムだと困ることはありません。複雑なプログラムになると、関数の中に入れ子のようにたくさんの関数が入っていきます。すると一番大枠の関数が終わるときに閉じ括弧が複数現れます。たくさんの閉じ括弧があると、「この閉じ括弧はどの関数の終わりを示しているの?」というようなことになってしまいます。}}このJavaの例ですが今はわかりやすくインデントを下げて書いています。以下のようにも書けます。i;System.out.println(sum);}}}一気に見づらくなったと思います。閉じ括弧がどれに対応するかがわかりにくくなったと思います。Javaではインデントを下げることは必須ではないので書く人によって変わってきます。Pythonはインデントを下げることでその関数の中を表すので関数の始まりと終わりが一目見てわかるのです。そこが私にとって一番「Pythonってわかりやすい!」と思ったところです。Pythonを独学で学び始めて大事だと思うこと学習時間とモチベーション何事も学習する時には時間が必要です。独学で勉強していくということはその時間を自分自身で生み出していかなければなりません。これが結構難しいです。会社が終わってからだったり休日だったり、日常生活の間に時間を作っていくと思います。毎日疲れている中で勉強時間を作り出すというのはしんどいです。しんどいと思いながらするのは嫌だと思います。そこで私がやっているモチベーションをあげつつ時間をとる方法があります。今日読む(やる)範囲を決めること今日はここまではするぞと決めてから始めることです。小さなゴールを決めることでそこが終わっただけでも達成感があります。できるときは気ままにコードをいじってみること書籍などの例題だけ読むだけ、実際にコードを書いてみるだけより、思ったように書いてみて動くか試してみることがモチベーションアップに繋がります。私は例題を少し変えてみたりして動かすことで、「お、ここは理解できてる。」となり理解度も実感しながら次に進んでいます。あと単純に自分で考えてみたコードで思ったように動くと楽しいです。楽しいと自然と「明日も時間作ってやるぞ」ってなります。学習するのに大事だと感じたのは実際にコードを書くことプログラミングの学習は書籍等を読んで終わりということはありません。今は漠然とプログラムを組んで何かをつくってみたいと思っていても、学習段階のうちから実際にコードを書くことをするべきです。書籍等を読んで理解したとしても、実際にコードを書いてみると必ず失敗すると思います。書籍を読むだけだと時間はそこまでかからないと思います。失敗から学べることは大きいですし、自分で手を動かすことでより理解が深まります。実際にコードを書くとなると時間がかかります。このコードを書くということを学習に取り込まなければ、プログラミングを習得することはできないと思います。失敗してエラーが出て書き直して、その繰り返しで学んでいけると私は感じました。時間はかかりますが、きちんとコードが書けるようにならないとプログラミング言語の学習が終わったとは言えないでしょう。実際にコードを書くところまでを学習に組み込んでください。Pythonは初めてでも学びやすい言語なので他の言語よりは書くことに時間を取られにくいと思います。自分できちんと参考書を読む、実際にコードを書いてみるというところまでできればぐんと学習の質は上がると感じました。まとめこのように私はPythonは未経験でしたがそこまで大きく躓くことなく始めることができました。学習しやすいように思います。コードが読みやすく、書きやすいので初めてでも学習しやすかったPythonはおすすめできるプログラミング言語だと思います。時間をかけて学べば初歩的な単元でつまづくことも少なく、理解できるようになります。後々複雑なコードを書くようになっても基礎が理解できているので大きく立ち止まることはないと思います。私もPythonを学び始めてまだまだですがこれからもしっかり学んでいこうと考えています。12:34このブログはPyQ開発スタッフが運営しています。技術書1冊分の価格ではじめるPython独学プラットフォームです。Pythonの基本から機械学習・データ分析まで、実際にコードを書きつつブラウザだけで学べます。Pythonお悩み解決で紹介しているような疑問が解決できるプラン(スタンダードプラン)もあるので、プログラミング学習をサポートする先輩プログラマーのような存在が必要になったときには、是非検討してみてくださいね。»Python学習チャンネルPython独学プラットフォームPyQ(パイキュー)の公式ブログです。PyQのリリース情報やカリキュラム紹介だけでなく、プログラミング学習者向けにPythonのQ&A、プログラミング学習tipsなどを配信しています。reserved.引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。