A Python 3 エンジニア認定実践試験 - user000422/0 GitHub Wiki

基本情報

■受験について 予約 : ICTテストセンター 町屋校(受講27時間前必須) 試験会場 : ICTテストセンター町屋校(予約ほとんど空 土日17:00頃の枠がある 学割額で振り込むこと)

https://qiita.com/y-vectorfield/items/acc103197165a8788c8c https://nanmemo.com/python3_test_jissen#toc5

合格者 https://www.pythonic-exam.com/archives/6480 合格者 https://www.pythonic-exam.com/archives/6535

★ 特におすすめサイト ExamAPP https://python-basic.com/ (模擬試験アプリ) if4sf11 / 182e4E45 上級の問題は本番試験のレベルと同じぐらいかやや簡単ぐらいのレベル感でした。 合格するには本アプリの上級試験で正解率90%程度の理解度が必要だと思われます

外部ライブラリは試験に出題されない(標準ライブラリのみ)

ディープロ模擬試験 https://diver.diveintocode.jp/dive_into_exam/36 PW : e55eee

本当か分からないが公式で出題を出している https://www.pythonic-exam.com/exam/jissen 重要な章 : 3、4、5、6、9、16 1問しか出題されない章 : 1、18 出題なし(本の章対応) : 7、12、15、19 本 19章の「943」ページ以降は不要。(メモ)

出題されない
5 mypy
8 dateutil
9 bisect, pprint
13 configparser, PyYAML, openpyxl, Pillow
14 Requests, email
16 pytest, pydoc
17 traceback

■理解が浅い ★ジェネレーターは捨てる 2章 : 仮想環境を作成する 3章 : ★ 内包表記、ジェネレーター式 3章 : ★ ジェネレーター 3章 : デコレーター 4章 : Dataclass 5章 : 型ヒント 9章 : itertools(ページ数多い、理解しづらい) 14章 : urllib 16章 : mock

■模擬試験後理解が浅い 3章 : アンパック(アスタリスクの数) 3章 : ジェネレーター 3章 : デコレーター 8章 : 日付フォーマット 8章 : collections 9章 : itertools(ページ数多い、理解しづらい) 11章 : tempfile

3章

■位置引数 … 関数呼び出し時の引数の順番が関数の引数の順番に対応する。 ■キーワード引数 … 関数呼び出し時に「引数名=値」の形で関数の引数に対応する。引数の順番は問わない。 位置引数とキーワード引数を混在させる場合は、位置引数を先に記述する必要がある。

def sample_func(color, num):
    pass

# 位置引数
sample_func('red', 10)

# キーワード引数
sample_func(num=10, color='red')

9章

■並び替え リストの並び替えの場合 sortedlist.sort どちらを使うべきか … sorted はメモリ消費が大きい、sortは破壊的操作

# sorted
# 戻り値はリスト型
# 文字列と数値を同時に並び替えることはできない
# 辞書型の場合はキーを並び替える
result = sorted([2, 0, 1])                # sorted ※結果 [0, 1, 2]
result = sorted([2, 0, 1], reverse=True)  # sorted 降順 ※結果 [2, 1, 0]
result = sorted(["red", "green", "blue"]) # sorted ※結果 ["blue", "green", "red"]
# list.sort
# リストのデータを並び替える(破壊的操作)
sample_seq = [2, 0, 1]
sample_seq.sort()              # 並び替え ※結果 [0, 1, 2]
sample_seq.sort(reverse=True)  # 並び替え(降順) ※結果 [2, 1, 0]

13章

■csv writerのデフォルト改行コードは「/r/n」のため改行コードの指定は明示的に行うようにすること。

import csv

# ファイル読み込み
with open('sample.txt', mode='r') as f:
    reader = csv.reader(f) # 読み込み
    # ひな形 ファイル全行読み込み
    for row in reader:
        print(row)

16章

■doctest コメントが重要(重要というよりテストそのもの)

def sample(a, b):
    """
    # >>> … 入力値
    # >>>の下 … 期待値
    >>> sample(1, 1)
    2
    """

    # テストコードの処理と戻り値
    return a + b

# 下記はテンプレート(このまま固定でよい)
if __name__ == "__main__":
    import doctest
    doctest.testmethod()