【Python】PythonZen & PEP 8 検定試験

■ はじめに

「PythonZen & PEP 8 検定試験」がリリースされて
受験してみたので、メモ。

無料だし、受けてみて、結構、勉強になるので結構お勧め。
特に、PythonZenって、名前くらいで、全然知らなかったので
有意義だった。

目次

【1】PythonZen & PEP 8 検定試験
【2】出題範囲
 1)PythonZen
 2)PEP 8
【3】受験方法
【4】受験体験
 1)1回目
 2)2回目

【1】PythonZen & PEP 8 検定試験

https://pythonzen-pep8-exam.jp/

より
~~~~~~~~~~~~~~~~
概要:PythonZen(The Zen of Python)とPEP 8に関する知識を問う試験
受験料金:無料 << ★これはいい!!
問題数:20問(すべて選択問題)
合格ライン:正答率70% << ★14問/全20問 (6問を超えて間違えると不合格)
試験方式:WBT(インターネット接続できれば、だれでも受験できます)
出題範囲:PythonZenとPEP 8より出題
~~~~~~~~~~~~~~~~

※2022年3月1日から3月31日まではベータらしい(ただ、合格者は本認定)

【2】出題範囲

1)PythonZen

* Pythonの心得を纏めた格言集
* 詳細は、以下の関連記事を参照のこと。

https://dk521123.hatenablog.com/entry/2022/03/27/205642

2)PEP 8

* 標準のコーディング規約

https://pep8-ja.readthedocs.io/ja/latest/

読み方について

* 読み方だが、「ペップエイト」だと思ったが、
 「ペペエイト(PePEight)」って言ってる、、、

https://www.youtube.com/watch?v=nVvvDpK5sdE
https://www.youtube.com/watch?v=wf-BqAjZb8M
https://www.youtube.com/watch?v=Hwckt4J96dI
https://www.youtube.com/watch?v=Sm0wwmEwqpI&feature=youtu.be

【3】受験方法

[1] 以下にアクセスし、下の方がにある
 「お名前」「メールアドレス」を入力し、送信ボタン押下

https://pythonzen-pep8-exam.jp/

[2] メールアドレス宛にメールが届くので、
 本文にあるURLを押下して、受験開始

【4】受験体験

受けてみて、、、

* Python 3 エンジニア認定基礎試験 の下位の試験ではない
 => 「【2】出題範囲」を見てわかる通り、
  「1)PythonZen」と「2)PEP 8」の理解に関する試験であって
  Pythonの文法の試験じゃない

 => 舐めて掛かると、受からない(実際、不合格した、、、) 

1)1回目

* 結果:不合格
*  65 点 / 100点満点 (13問 / 20問)
 => 基礎試験 の下位と思い、何も勉強していない状況で受けたら落ちた。
 => ただ、合っていた部分も含めて、気づきができたので勉強になった

間違った問題

Q. PEP 8に即していないインデントの使い方をしているコードを、次の選択肢の中から選びなさい。
~~~~~~~~~~~~~~~~
正答: 引数が一行で収まらない場合は、二行目からインデントをつける。
foo = long_function_name(var_one,
 var_two,
 var_three,
 var_four)
~~~~~~~~~~~~~~~~

Q. PEP 8ではコード一行あたりの文字数を何文字に制限するか、次の選択肢の中から選びなさい。
~~~~~~~~~~~~~~~~
正答: 半角79文字
~~~~~~~~~~~~~~~~

Q. PEP 8での二項演算子を含んだコードの改行方法が正しいものを、次の選択肢の中から選びなさい。
~~~~~~~~~~~~~~~~
正答:
income = (gross_wages
 + taxable_interest
 + (dividends - qualified_dividends)
 - ira_deduction
 - student_loan_interest) 
~~~~~~~~~~~~~~~~

Q. PEP 8が推奨するreturnの書き方について、正しいものを次の選択肢の中から選びなさい。
~~~~~~~~~~~~~~~~
正答: f = lambda x: 2*x のようなラムダ式ではなく、def f(x): return 2*x のように return 含むdef式を使う。
~~~~~~~~~~~~~~~~

Q. Zen of Pythonの全文を表示できるコマンドで正しいもの、次の選択肢の中から選びなさい。
~~~~~~~~~~~~~~~~
正答: import this
~~~~~~~~~~~~~~~~

Q. 格言「In the face of ambiguity, refuse the temptation to guess.」
 に準拠していないコードを、次の選択肢の中から選びなさい。
~~~~~~~~~~~~~~~~
正答:
a = True
b = True
if not a and b:
 print('Hello World')
else:
 print('Bye World')
~~~~~~~~~~~~~~~~

Q. 格言「Now is better than never.」と「Although never is often better than *right* now.」
 に関する説明について、間違っているものを次の選択肢の中から選びなさい。
~~~~~~~~~~~~~~~~
正答: ファイルを open() した後に例外が飛ぶ場合は、ファイルを close() しなくても良い。
~~~~~~~~~~~~~~~~

2)2回目

* 結果:合格
*  100 点 / 100点満点 (20問 / 20問)

 => 1回目ではPythonZen を勉強してなかったので、
  以下の関連記事でまとめたようにちゃんと復習した

PythonZen(The Zen of Python
https://dk521123.hatenablog.com/entry/2022/03/27/205642

関連記事

Python に関する資格
https://dk521123.hatenablog.com/entry/2019/12/17/225829
Python 3 エンジニア認定基礎試験
https://dk521123.hatenablog.com/entry/2020/11/21/000000
Python 3 エンジニア認定データ分析試験
https://dk521123.hatenablog.com/entry/2022/02/21/000000
PythonZen(The Zen of Python
https://dk521123.hatenablog.com/entry/2022/03/27/205642