Python学習記録|38日目 模試87.5点。でも、正解した問題を理解していなかった

Python学習記録38日目。模試の復習をしながら、クラスや継承、selfなど理解できていない部分を学び直す様子を表したアイキャッチ画像 資格試験

Pythonの勉強を始めて38日目。

今日はPrime Studyの模擬試験、第3回に挑戦しました。

結果は、

1周目:72.5点

間違えた問題を見直して、もう一度解いた2周目は、

87.5点

点数だけを見ると、かなり上がりました。

でも、自分の中では「87.5点取れた!」という感覚ではありません。

今の実力に近いのは、やっぱり1周目の72.5点。

2周目は一度問題を見て、間違えたところも確認したあとの点数です。

だから、この87.5点を「できるようになった」とは考えず、ここからちゃんと自分の知識にしていきたいと思っています。

正解したのに、説明できない問題があった

今日いちばん大きかったのは、実は間違えた問題ではありませんでした。

2周目で正解できた、クラスと継承の問題。

答えは選べた。

でも、あらためてコードを見ながら「どうしてこの答えになるの?」と考えてみると、

コードの追い方が分からない。

正解したのに、です。

特に引っかかったのが、クラスの中から別のメソッドを呼び出しているところでした。

「このメソッド名、どこから出てきたの?」

そこで止まってしまいました。

「呼び出されたら、対応する定義を探す」

かなり基本的なところまで戻って、一つずつコードを追い直しました。

そこで整理できたのが、

何かが呼び出されたら、それに対応する定義を探す。

ということ。

関数でもメソッドでも、呼び出しがあれば、対応する定義を探してそこへ移動する。

その処理が終わったら、元の場所へ戻って続きを実行する。

文字にすると当たり前のように見えるのですが、私はこれまでコードを上から一行ずつ追おうとしていました。

だから途中で別の関数やメソッドが呼び出されると、急に迷子になる。

全部を一行ずつ頭に入れようとするのではなく、まずコード全体をなんとなく見て、

「今、何が呼ばれた?」

「その定義はどこ?」

「今のselfは誰?」

と探しながら読むほうがいい。

ここに気づけたのは大きかったです。

継承は「親からレンタル」で腑に落ちた

もう一つ、今日やっと感覚がつかめたのが継承でした。

子クラスに使いたいメソッドがなければ、親クラスを探しにいく。

ここまでは知識として勉強していました。

でも実際のコードになると、途端に分からなくなる。

何問か小さなコードで練習しているうちに、

「自分が持っていなかったら、親からレンタルしてくる感じか」

と思った瞬間、急に分かりやすくなりました。

親からメソッドを借りてきても、それを使っている本人まで親になるわけではない。

本人は本人のまま。

だから、借りてきたメソッドの中から別のメソッドを呼び出したとき、自分自身が同じ名前のメソッドを持っていれば、そちらが使われる。

継承やオーバーライドという言葉だけで覚えようとしていたときより、ずっとコードを追いやすくなりました。

模試の点数より、説明できるか

今回、2周目は87.5点でした。

でも、正解した問題の中にも「たまたま選べた」ものがありました。

もしそこで、

「正解だったからOK」

と終わらせていたら、理解できていないことにも気づかなかったと思います。

だから今は、1周目の72.5点を自分の実力として見ています。

間違えた問題はもちろん、正解した問題でも説明できないものは拾い直す。

模試の答えを覚えるのではなく、少しずつ自分の知識にしていきたいです。

これでダメなら仕方ない、と思えるくらい

Pythonの勉強を始めたころは、もっと基本的なところでも何度も止まっていました。

今も分からないことはたくさんあります。

それでも、以前なら意味が分からなかったコードを、少しずつ自分で追えるようになってきました。

せっかくここまで勉強してきたので、中途半端に終わらせたくありません。

点数だけを追いかけるのではなく、

「どうしてそうなるのか」

を自分で説明できるところまで。

これだけ勉強してダメだったなら仕方ない。

最後にそう思えるくらいまでは、しっかりやってみたいと思います。

コメント

タイトルとURLをコピーしました