Python

私はプログラミング初心者です。言語はPythonです。JavaScriptはほんのちょっと手を出してみたものの、ほとんど使わないまま終わっています。でも先にPHPをやろうかなぁと思い始めています。WordPressを使ってサイトを作ってみたいからです。まあ最近は他のことに追われて全然遊べていませんが、また落ち着いたらやりたいです。

さて、今回はPythonを学んできた道筋について書こうと思います。きっかけは先輩がPythonやるかも〜と呟いていたからです。会社だったら研修とかあるのかもしれませんが、それ以外の人にも意外と簡単に始めれるよ〜って事が伝わればいいなと思います。

まず初めにした事は、友人への相談です。中高の友人でプログラミングをがっつりやっている人がいたので、「最近Python始めようと思ってるんよね〜」という話をします。すると色々と教えてくれます。でもここでまずプログラミング経験者と未経験者の考え方が全然違うことに気づきました。私はとりあえずPythonを使えるようになって、色々やってみよう!と思っていました。でも経験者の友人はまず「何がやりたいん?」と言いました。ちょっとプログラミングをかじった今ならわかるのですが、プログラミングってやるべき事が定まっていないとすぐに何をしたらいいか分からなくなるんです。でもやる事さえ決まっていればその為に必要な知識をその都度調べるので、色んなことができます。もし特にやりたいことが無い場合は参考書のサンプルコードを元にアレンジしてみると面白いかもしれません。「あ、ここでさっきの知識を使えばもっと面白くできるな」ってポイントが結構あります(ただし、アレンジすると99.99%エラーが起こります、悲しい)。

さてちょっと面倒な話をしましたが、色々作る前に基本的な文法は知らなければいけません。プログラミング言語も言語なので文法は知らなければいけません(単語はその都度覚えればいいと思います)。その為に友人が教えてくれたのがこの参考書です。

友人曰く「絵本シリーズより丁寧にわかりやすく書いてる本はない」とのこと。確かにものすごく丁寧に説明してくれていますが、そもそも新しい概念が入ってくるので初心者には難しく感じるところもあります。とりあえず一通りパソコンを動かしながら読んでみて、体感80%くらいの理解度でした(ジェネレータやデコレーターがしっくりきませんでした)。でも多分本当にここまで優しい入門書はありません。それに難しい所は難しいので、やってるうちに慣れます。余談ですが、この辺りめっちゃ数学と似てるなぁと思います。初めてベクトルや三角関数を習った時は訳わからんけど問題を解いているうちに理解できてくる感じです。

次に、この絵本シリーズをやりながらネットで見つけたのがこのpaizaラーニングです。

このサイトは無料登録が必要ですが、Pythonの基本文法の授業動画は全て無料で受けることができます。手を動かしながらできるので、動いているのが実感できます。演習問題も豊富なので慣れるのにももってこいです。
一通り文法を学んだら、練習問題で復習もできます。ものすご〜く簡単なものから、ちょっと考えなければいけないものまでたくさんあるので、とりあえずの練習には困りません。

この二つを使って基本をある程度身に付けるのに1ヶ月くらい使ったような気がします。色んな事を並行してやっていたので忙しい時期でしたが、春休みだったのでそこそこ毎日コツコツ時間は割いていたように思います。そして次に取り掛かったのがこの参考書です。

基本的な部分はもう大丈夫なので、サンプルコードを元に迷路と簡単なレースゲームを作りました。楽しく遊べるレベルではありませんが、GUIの作り方やExcelとの連携を学ぶきっかけになったのでよかったなと思います。

こうやってサンプルコードを写しているうちに、いくつかオリジナルのアイデアが浮かんできました。次はそれをやろうとしましたが、一からやるのでそもそもどこから作っていくかに迷いました。そこで情報処理試験の科目である「データ構造」の知識が役立ちました。

アルゴリズムの勉強のためにとりあえず図書館で借りた本です。他のテキストを見ていないのでこれが良いのかはわかりませんが、難しすぎて理解できないような内容では無かったので一応入門として使いやすいと思います。確か擬似言語で書いたコードを結構載せていて、プログラムを読む練習にもなりました。私はソートのプログラムは実際に使わなかったのですが、その中でも変数の使い方なんかは学びがありました。

最後にもう一つ、使わなかったけれど使えそうだった参考書がこれです。

こちらはライブラリを重視していたように思います。多分実用的なプログラムはライブラリを多用すると思うので、これもいいんじゃないかなぁと思って紹介してみます。ただこの参考書ではAnaconda(ライブラリ等をインストールするもの、多分)をインストールするように書かれていますが、私はpipというものを使っています。私はこの辺りがまだよく理解できていないのですが、詳しい友人曰く「どっちかに統一しておいた方が良い」とのことでした。どちらでもライブラリやモジュールはインストールできるので、どっちかでいいんじゃないかと思います。

とりあえず紹介はこんなところでしょうか。この記事を読んだ方は私もよくわかっていないということがわかったのではないでしょうか。全くその通りでまだまだわからないことだらけです。でもわからないなりに言われた通りにしながら、触っているうちにちょっとずつ理解できていくのは結構面白いです。

それでは、良きプログラミングライフを!

あ、最後に一つ。もし「こういうのもあるよ!」みたいなのを知ってる方がおられましたら是非コメントをもらえると嬉しいです!ここで出会ったのも何かのご縁ということで。

この記事が気に入ったらサポートをしてみませんか?