Pythonエンジニア認定基礎試験の勉強記録|「コードを読む」が少しずつ分かってきた

Python学習19日目の記録のアイキャッチ画像 資格試験

こんにちは、晶(あき)です。

Pythonエンジニア認定基礎試験に向けて勉強を続けています。

8月15日に勉強を始めて、もうすぐ3週間。

決意表明の記事はこちらです。

【Pythonエンジニア認定基礎試験】アラフォー主婦、プログラミング未経験からPythonの勉強を始めました
こんにちは、晶(あき)です。このブログでは資格試験やPC・ガジェットなどについて書いていますが、今回からしばらくの間、Pythonエンジニア認定基礎試験の勉強記録も残していこうと思います。今回のテーマは、「プログラミング未経験のアラフォー主…

最初の頃に比べると、少しずつですがコードを見たときの感覚が変わってきました。

まだExamAppの模擬問題では間違えることも多く、特に同じところを何度も間違えています。

今は新しい問題をどんどん解くよりも、繰り返し間違えているところを重点的に見直しています。

オブジェクトとメソッドの関係が少し分かってきた

今日特に理解が進んだのが、オブジェクトとメソッドの関係です。

これまでは、

fruits.append()

のようなコードを見ても、「なぜこの形で書くのか」という部分が曖昧でした。

今は、Pythonでは文字列やリストなどの値がオブジェクトとして扱われ、. の後ろにそのオブジェクトが持つメソッドを書く、と考えられるようになりました。

また、

sorted(a)

のように関数へオブジェクトを渡す場合と、

a.sort()

のようにオブジェクトのメソッドを呼び出す場合の違いも、以前より整理できるようになりました。

単に書き方を覚えるのではなく、「なぜこの形になっているのか」まで考えられるようになってきたのは、自分の中では大きな変化です。

引数についても復習

位置引数、キーワード引数、位置専用引数、キーワード専用引数についても復習しました。

特に、

  • / より左側は位置専用
  • * より右側はキーワード専用
  • その間はどちらでも指定できる

というルールを改めて確認。

問題として出されるとまだ迷うことがありますが、「関数に値をどう渡すのか」という視点で見ると少し理解しやすくなりました。

globalとnonlocalを整理

スコープについても復習しました。

global は、関数の中からグローバルスコープにある変数を扱うためのもの。

一方の nonlocal は、入れ子になった関数で、外側の関数にある変数を扱うために使います。

このあたりは何度か問題を解いているものの、まだ理解が揺れる部分です。

一度正解したから終わりではなく、何度か繰り返して迷わなくなるまで確認したいところです。

内包表記はまだ苦手

内包表記も引き続き苦手分野です。

特に辞書内包表記では、

{キー: 値 for ...}

という形になることを確認しました。

内包表記のまま考えると混乱する場合は、一度普通のfor文に書き直して考えると理解しやすくなります。

試験までに「自分で自由に書ける」ことよりも、まずは問題に出てきた内包表記を正しく読めることを目標にします。

loggingのレベルも復習

loggingのメッセージレベルは、重要度の低い順に、

DEBUG → INFO → WARNING → ERROR → CRITICAL

となります。

名前だけで暗記しようとすると混乱するので、それぞれがどの程度の問題を表しているのかも合わせて覚えることにしました。

特にWARNINGとERRORの違いを意識しておきたいところです。

模擬問題は27問正解

今日は40問の中級模擬問題にも挑戦しました。

結果は27/40問正解(67.5%)

とても悔しい!

まだ安心できる点数ではありません。

ただ、間違えた問題を見ていると、まったく知らない内容だけではなく、

「知っていたのに問題文を読み落とした」
「最後のprint()をよく見ていなかった」
「文字列と変数を取り違えた」

といったミスもありました。

今後は知識を増やすだけではなく、コードを最後まで丁寧に追うことも意識したいと思います。

昔よりコードの見え方が変わってきた

以前、興味があってpaizaの問題を少し触っていた頃は、

for i in range(...)

というコードも、意味をきちんと理解せずに使っていました。

今なら、range()が値を用意し、forで一つずつ取り出し、その値を変数が受け取っている、と考えることができます。

まだ自分で一からプログラムを書くとなると難しいですが、コードをただの記号として見る状態から、一つずつ意味を追える状態には少し近づいてきた気がします。

今は「Pythonのルールを覚える時期」

勉強を始めたばかりの頃は、分からない言葉を説明してもらっても、その説明の中にまた分からない言葉が出てくる状態でした。

最近は基本的な用語が少しずつ分かるようになり、新しく出てきた内容も以前の知識と結び付けて考えられることが増えてきました。

今はまだ、Pythonのさまざまなルールを覚えている途中です。

まずはPythonエンジニア認定基礎試験の合格を目標に、解答に悩んだり、自信をもって答えられない問題を一つずつ減らしていくことを優先します。

試験が終わったら、簡単な問題を自分で考えてコードにする練習もしてみたいと思っています。

焦らず、まずは基礎から。

次の目標は、模擬問題で安定して合格圏に入ることです。

読んでくれてありがとう。また気が向いたら遊びに来てください。

コメント

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