「Python 3 エンジニア認定実践試験」合格体験記

# 「Python 3 エンジニア認定実践試験」合格体験記

https://www.pythonic-exam.com/exam/jissen

## はじめに

はじめまして。現在、技術職の社会人です。
現在、業務では、[Dart](https://dart.dev/) という言語を使用していて、Python は最近あんまり書いていません。個人的な話ですが、Dart の学習をするときは、Python と比較しながら学習を進めました。

この記事では、私が「Python 3 エンジニア認定実践試験」に合格しましたので、参考書や学習方法などを紹介させていただきます。

この記事が「試験勉強がうまくいかない」や「どうやって始めればいいんだろう」という人の参考になれば幸いです。

## 前提

- [Python](https://www.python.org/) 歴：5 年目
    - 取得済み資格：「[Python 3 エンジニア認定基礎試験](https://www.pythonic-exam.com/exam/basic)」
    - 分野：機械学習・深層学習
- これまでに学習に使用したことがある参考書
    - [ゼロから作るDeep Learning](https://www.oreilly.co.jp/books/9784873117584/)
    - [ゼロからつくるPython機械学習プログラミング入門](https://www.kspub.co.jp/book/detail/5206126.html)
    - [動かしながら学ぶ PyTorchプログラミング入門](https://www.ohmsha.co.jp/book/9784274226403/)
    - [Transformerによる自然言語処理](https://www.asakura.co.jp/detail.php?book_code=12265)
    - [Vision Transformer入門](https://gihyo.jp/book/2022/978-4-297-13058-9)
    - [徹底攻略Python 3 エンジニア認定［基礎試験］問題集](https://book.impress.co.jp/books/1122101079)

---

「Python 3 エンジニア認定基礎試験」を受験予定の人は、私が過去に投稿した『[「Python 3 エンジニア認定基礎試験」合格体験記](https://qiita.com/Natu_ja/items/9d1c4e04bafc7d28da98)』をご覧ください。

https://qiita.com/Natu_ja/items/9d1c4e04bafc7d28da98

## 無料で「主教材」・「公式問題集」の入手方法

https://www.pythonic-exam.com/archives/news/555camp

この記事を投稿した現在、無料で「Python 3 エンジニア認定実践試験」の「主教材」を貰うことでできるキャンペーンが実施されていました。

詳しい方法は、[公式サイト](https://www.pythonic-exam.com/archives/news/555camp)をご覧になって欲しいです。流れとしては、以下の通りです。

1. 受験申し込みをする。
2. SNS で受験宣言をする。
3. [公式サイト](https://www.pythonic-exam.com/archives/news/555camp)から応募する。

私は X で以下のようなツイートをしました。

https://x.com/NatuM_ja/status/1913246264206217380

## 出題範囲

出題範囲は主教材である技術評論社「[Python実践レシピ](https://www.amazon.co.jp/dp/4297125765/)」より以下の比率で出題します。

| 章立て | 出題率 (%) | 備考 |
| :-- | :--: | :-- |
| 1章　Pythonの環境 | 2.5 ||
| 2章　コーディング規約 | 5.0 ||
| 3章　Pythonの言語仕様 | 17.5 ||
| 4章　Pythonのクラス | 7.5 ||
| 5章　タイプヒント | 5.0 | 5.2 mypy は除く |
| 6章　テキストの処理 | 10.0 ||
| 7章　数値の処理 | 0.0 | 出題なし |
| 8章　日付と時刻の処理 | 5.0 | 8.4 dateutilは除く |
| 9章　データ型とアルゴリズム | 12.5 | 9.3 bisectは除く9.5 pprint は除く |
| 10章　汎用OS・ランタイムサービス | 5.0 ||
| 11章　ファイルとディレクトリへのアクセス | 5.0 ||
| 12章　データ圧縮とアーカイブと永続化 | 0.0 | 出題なし |
| 13章　特定のデータフォーマットを扱う | 5.0 | 13.3 configparser は除く13.4 PyYAML は除く13.5 openpyxl は除く13.6 Pillow は除く |
| 14章　インターネット上のデータを扱う | 5.0 | 14.3 Requests は除く14.5 emai は除く |
| 15章　HTML/XMLを扱う | 0.0 | 出題なし |
| 16章　テスト | 7.5 | 16.4 pytest は除く16.5 pydoc は除く |
| 17章　デバッグ | 5.0 | 17.3 traceback は除く |
| 18章　暗号関連 | 2.5 | 18.3 cryptography は除く |
| 19章　並行処理、並列処理 | 0.0 | 出題なし |

## 学習に使用した参考書やサイト

### Pythonエンジニア育成推進協会監修 Python実践レシピ

https://www.amazon.co.jp/dp/4297125765/

- [一般社団法人Pythonエンジニア育成推進協会](https://www.pythonic-exam.com/aboutus)が指定する主教材。
- 網羅的に書いてあるので、これだけでも十分学習できる。

### Documentation

https://docs.python.org/3/

- 公式ドキュメント

### ディープロ | プログラミングとIT資格試験の勉強ができる ディープロ

https://diver.diveintocode.jp

- 「認定模擬問題」であるため、傾向を掴むことができた。
- 模擬試験が無料で何回でも受験することができた。

### 模擬試験アプリ - Python3エンジニア認定基礎／データ分析／実践試験 - ExamApp

https://python-basic.com

- レベル別で試験が用意されている。
- 一問一答で気軽に取り組むことができる。
- 無料で、解説を読むことができる。


# Python の環境

### 使用したエディタ

https://code.visualstudio.com/

私は VSCode (Visual Studio Code) を使いましたが、他のエディタでも構いません。

### VSCode の拡張機能

https://marketplace.visualstudio.com/items?itemName=ms-python.python

私と同じように、VSCode  (Visual Studio Code) を使う方は最低限上記の拡張機能を入れる必要があります。

---

https://qiita.com/Natu_ja/items/f7e2fa2bb18fe6e1e1d2

人工知能の研究者向けの内容ではありますが、Python のコードを書く上であると便利な拡張機能はこの記事に記載しています。

## 学習方法

### 情報収集

まず、試験範囲の概要を知るために、[【解説】Pythonエンジニア認定実践試験](https://www.youtube.com/playlist?list=PLZlyZ4j4rYcl-aCSkTV5ScQC8dpEdJF5h)を拝見し、試験のおおよその内容を調査兼勉強を行いました。

### 現状確認

その後、[ディープロ](#ディープロ--プログラミングとit資格試験の勉強ができる-ディープロ)の模擬試験に挑戦しました。結果は、**1000 点中 725 点**でした。間違いの確認をした結果、Python 標準ライブラリの [`itertools`](https://docs.python.org/3/library/itertools.html) 、[`shutil`](https://docs.python.org/3/library/shutil.html)、[`secrets`](https://docs.python.org/3/library/secrets.html)、[`io`](https://docs.python.org/3/library/io.html)、[`urllib`](https://docs.python.org/3/library/urllib.html) が含まれている問題が主でした。

### 勉強段階前期（主教材ない）

[この結果](#現状確認)を踏まえ、上記のライブラリを中心に[公式ドキュメント](#documentation)と[インターネット上で公開されている記事や動画](#参考記事等)を活用し、学習を進めました。

また、[参考記事等](#参考記事等)に記載した記事などを活用して学習を進めました。

### 勉強段階後半（主教材あり）

[主教材](#pythonエンジニア育成推進協会監修-python実践レシピ)のコードをひたすら実行していきました。特に、私の経験が少ないライブラリを中心に実装をしました。
ある程度、学習を主教材を用いた学習を終えたら、再度模擬試験を受験しました。

あとは、この実装と模擬試験のサイクルを繰り返すと着実に知識が定着します。

## おわりに

この記事では、私の「Python 3 エンジニア認定実践試験」合格体験記を書かせていただきました。

この記事がみなさんの勉強の参考になれば幸いです。
また、みなさんが試験に合格することを心から願っています。

## 謝辞

私が「Python 3 エンジニア認定実践試験」の合格できたのは、Qiita の記事などを投稿しているエンジニアの方々や企業様のおかげです。心より感謝申し上げます。

## 参考記事等

一度でも、拝見させたいただきた記事等を以下に載せます。

:::note info
[Qiita](#qiita)、[note](#note)、[YouTube](#youtube) や [Zenn](#zenn) の記事・動画は、公開した日付順（昇順）になっています。
:::

:::note warn
出題範囲外の内容もあります。ご注意ください。
:::

### Qiita

https://qiita.com/kanataxa/items/522efb74421255f0e0a1

https://qiita.com/fiftystorm36/items/b2fd47cf32c7694adc2e

https://qiita.com/moonwalkerpoday/items/9bd987667a860adf80a2

https://qiita.com/masakielastic/items/2a04aee632c62536f82c

https://qiita.com/apollo_program/items/165fb01b52702274936c

https://qiita.com/Nabetani/items/0a9809ebb9f9a7f5dc49

https://qiita.com/hoto17296/items/8fcf55cc6cd823a18217

https://qiita.com/anmint/items/37ca0ded5e1d360b51f3

https://qiita.com/simonritchie/items/bb06a7521ae6560738a7

https://qiita.com/nezu_yakki/items/be2181076ea13c2c64b9

https://qiita.com/studio_haneya/items/11c9e825bd8068af7e87

https://qiita.com/flcn-x/items/e10fc4c4f3ddc404bc7a

https://qiita.com/mingchun_zhao/items/130c802ce564822b45ce

https://qiita.com/mountaincat/items/a89d97872592ec4b35ec

https://qiita.com/tarou-imokenpi/items/04dcfcc51e6d110f660e

https://qiita.com/kotauchisunsun/items/d9562cbeb511abae4403

https://qiita.com/akeyi2018/items/ce24dba2451c8ad0f034

https://qiita.com/Tadataka_Takahashi/items/9a9813da93a526803794

https://qiita.com/kissy24/items/0c091bb5f12d697131ae

https://qiita.com/rizumu620/items/48da84417bad528d9e70

https://qiita.com/tarantula426/items/e3f572cd47f079f008a6

https://qiita.com/Hanjin_Liu/items/a92b70ba3cc72e99237a

### note

https://note.com/shirotabistudy/n/n886dc8867664

https://note.com/rcat999/n/n54e1bc1f90f5

https://note.com/shunk031/n/nc1106f2ef926

### YouTube

<iframe width="560" height="315" src="ttps://www.youtube.com/embed/ZB66JdmHJKc" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>

<iframe width="560" height="315" src="https://www.youtube.com/embed/J3Pf5e0QxaE" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>

<iframe width="560" height="315" src="https://www.youtube.com/embed/cLyFaoJ0Vag" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>

<iframe width="560" height="315" src="https://www.youtube.com/embed/ijY7Zrmty_I" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>

<iframe width="560" height="315" src="https://www.youtube.com/embed/DPI88D0XlEM" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>

<iframe width="560" height="315" src="https://www.youtube.com/embed/VNDmy_pDdYA" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>

<iframe width="560" height="315" src="https://www.youtube.com/embed/-FfMhsseNDA" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>

<iframe width="560" height="315" src="https://www.youtube.com/embed/ncF2JoihRd0" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>

<iframe width="560" height="315" src="https://www.youtube.com/embed/IsYDaVkRSxQ" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>

<iframe width="560" height="315" src="https://www.youtube.com/embed/MghrcfaRMrg" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>

<iframe width="560" height="315" src="https://www.youtube.com/embed/t5A2rc6hUZs" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>

<iframe width="560" height="315" src="https://www.youtube.com/embed/qVV51oO7pLA" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>

<iframe width="560" height="315" src="https://www.youtube.com/embed/tV-xSc-ay4g" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>

<iframe width="560" height="315" src="https://www.youtube.com/embed/qNpkoJijnXQ" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>

<iframe width="560" height="315" src="https://www.youtube.com/embed/A8XTA23bH_0" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>

<iframe width="560" height="315" src="https://www.youtube.com/embed/ZB66JdmHJKc" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>

### Zenn

#### Articles

https://zenn.dev/enven/articles/8b80ff38461b4ff329aa

https://zenn.dev/web_tips/articles/b4f24f4c9abf0d

https://zenn.dev/tanny/articles/cdb555d6124a2a

https://zenn.dev/spacemarket/articles/0b2102f35c28e9

### その他

https://note.nkmk.me/

https://arika-blog.com/