Python3エンジニア認定基礎試験は、一般社団法人Pythonエンジニア育成推進協会が行っている民間の資格になります。
Pythonは、プログラミング言語の人気度を公開している TIOBE Programming Community index によると2022年9月度で1位になっており、近年注目を集めています。

合格できるように頑張っていきましょう!
0章 試験の概要
開催場所
全国のオデッセイコミュニケーションズCBTセンター
パソコン教室か専門学校になります。
受験日は通年となりますが、具体的な日程は各CBTセンターによって異なります。
料金
一般価格 11,000円(税込)
学割価格 5,500円(税込)
試験内容
試験はCBT方式(コンピュータを使用した試験方式)となっており、選択肢から正解を選ぶ形になっています。
受験にはOdyssey IDが必要です。
登録はこちらからできます。(受験の申し込みもこちら)
試験時間は60分で問題数は40問となっています。
合格ラインは28問(70%)です。
Pythonチュートリアル第4版から出題されます。(2022年11月時点)
PC・タブレットで学習したい方はAmazonのKindle Unlimitedを利用するのがオススメ!!
出題の割合は以下のようになります。

本を購入しなくても以下のサイトに無料で公開されています。
第四版出版時のバージョンが3.9のため、以下の画像のように3.9に変更してください。

合格率は77%(2017年4月時点)となっています。

以下のサイトで模擬試験を受けることができます。
プライム・ストラテジー
DIVE INTO CODE
トレノケート
リーディング・エッジ社
2023年5月から公式問題集が販売開始となっています。
実際に購入してレビューした記事はこちら
動画で確認したい方はこちら
1章 食欲をそそってみようか
出題数
出題数は1問
ページ数は3ページになります。
プログラミングをはじめよう
C/C++/Javaはプロフェッショナルなソフトウェア開発向けであり、UNIXシェルスクリプト/Windowsバッチファイルは用途が限られるため、Pythonで簡単にはじめよう。
Pythonの特徴
- Pythonは超高水準言語。高水準言語とは、人間が理解しやすい言語のことをいいます。反対の言葉として低水準言語があります。低水準言語は機械語に近い言語になります。
- 型の指定が不要。これを動的型付けと言い、Pythonが実行時に型を判断しています。反対の言葉として静的型付けがあります。静的型付けは変数を使用する際に、型を指定する必要があります。
Pythonの主な型はこちら - 文のグルーピングがインデントで表される。インデントとは字下げのことをいいます。
- モジュールで再利用することができる。詳しくは「6章 モジュール」で述べますが、Pythonは汎用性のあるコードを再利用することができます。
Pythonでできること
Pythonでできることといえば
・テキストファイルの検索置換
・ファイル名の変更
・データベースの作成
・GUIアプリケーションの作成
・ゲームの作成
があります。この他にも、AIの構築やWebアプリ開発などもできます。
GUIとは
GUIとは、グラフィカルユーザインターフェース(Graphical User Interface)の略で画面上にボタンやアイコンを表示し、直感的に操作できるようにしたものです。
反対にCUIというものもあり、こちらはキャラクターユーザーインターフェイス(Character User Interface)の略で命令をすべて文字によって行います。
図で違いを表すとこうなります。

Pythonはインタープリタ型言語
Pythonはインタープリタ型言語と言われ、コンパイル・リンクが不要になります。また、インタープリタ型言語は対話的に使うことができ、エラーの度にコンパイルする必要がないため開発時間を節約できます。
反対の言葉としてコンパイラ型言語(C/C++/Javaなど)があります。コンパイラ型言語はソースコードをまとめて機械語に変換してから実行する必要があります。
動画で確認したい方はこちら
2章 Pythonインタープリタの使い方
出題数
出題数は1問
ページ数は4ページになります。
インタープリタの起動
インタープリタの起動方法を4種類紹介
インタープリタとは、対話的にコードを実行できるもの
対話モードでは、コマンド入力を促すプライマリプロンプト(>>>)と継続行のセカンダリプロンプト(…)がある。
・python バージョンと著作権からはじまるウェルカムメッセージ
・python -c コマンド コマンドにある文を実行
・python -m モジュール名 モジュールのソースファイル名を実行
・python -i スクリプトファイル名 スクリプトを実行した後に対話モードへ
インタープリタを終了したい場合、UNIXはCtrl+D、WindowsはCtrl+Z、共通で使えるのがquit()
コマンド行編集
インタープリタで使える便利な機能(本記事では一部のみ紹介)
・Ctrl+E 末尾へ移動
・Ctrl+K 順方向に向かって行の残りを消す
・Ctrl+P/N ヒストリ置換
ヒストリは.python_historyに保存されている。ファイルは大抵C:\Users\○○(username)\.python_historyにある。
引数を渡す
スクリプト名と引数群はsysモジュールのargvに割り当てられている。
test2.pyを作成し、インタープリタでpython test2.py one two threeを実行すると、

[‘test2.py’, ‘one’, ‘two’, ‘three’]が出力される。
エンコーディング
エンコーディングとは、一定の規則に従って、別の形式のデータに変換すること
PythonはUTF-8を使用しているため、それ以外を使う場合は、-*- coding: encoding -*- と記述が必要になる。また、1行目に書くのがルールになっているが、shebang(シバン/シェバン)を書く場合は2行目に書く。
なお、shebangを書く場合は#!と記述し、#!/usr/bin/env python3.9と書くとpython3.9で実行するという意味になる。
動画で確認したい方はこちら
3章 気楽な入門編
出題数
出題数は6問
ページ数は13ページになります。
コメントアウト
#から始まる。pythonは解釈しないため、コードの説明を記述したり、バグ修正する時に元のコードを残すことができる。ただし、文字列リテラル内部はコメントアウトできない。
計算のルール
演算子は、足す:+ 引く:- かける:* 割る:/
主な数値の型は、int(整数)とfloat(小数)の2つだが、complex(複素数)、decimal(10進数)、fraction(分数)もサポートしている。
【計算のルールで押さえるべき4つのポイント】
・割り算は常にfloat型
・型が混在する場合もfloat型
・累乗の計算ができる
・変数の計算ができる
なお、対話モードでは最後に表示した式を_(アンダースコア)に代入してあるため、代入しないようにする。
文字列を表現する
対話型インタープリタでは、文字列は引用符に囲まれ特殊文字(エスケープシーケンス)はエスケープされた状態で出力される。この時、囲っている引用符が変わる場合や、入力と違って見えることがある。

また、列挙された文字列リテラルは自動的に連結される。変数や式を連結するときは+を使う。
・print()関数 全体を囲む引用符を除去し、特殊文字をプリントする
・raw文字列 特殊文字として解釈して欲しくないときに使う
・トリプルクォート(”’…”’ または “””…”””) 複数行にわたり書くことができる
文字列はインデックス指定できる
個々の文字を取得することができる。
範囲外を指定した場合は、IndexErrorになる。
スライス
部分文字列を取得することができる。
範囲外を指定してもエラーにならない。
文字列は改変できない
値の改変ができないことをイミュータブル(⇔ミュータブル)であるといい、文字列はイミュータブルである。よって、異なる文字列が必要なときは新しい文字列を生成する。

ビルトイン関数
最初から組み込まれている関数をビルトイン関数という。
・len関数 オブジェクトの長さ (要素の数) を返す
・type関数 オブジェクトの型を返す
一部のみ紹介しているので、詳しく知りたい方は公式ページをご確認ください。
動画で確認したい方はこちら
【part1 3.1.1 数値】
【part2 3.1.2 文字列の連結まで】
【part3 インデックス・スライス・イミュータブル】
【part4 3.1.3 リスト・3.2 プログラミング、はじめの一歩】
コードのダウンロードはこちら
【part1 3.1.1 数値】
PythonCE_3-1.ipynb
【part2 3.1.2 文字列の連結まで】
PythonCE_3-2.ipynb
【part3 インデックス・スライス・イミュータブル】
PythonCE_3-3.ipynb
【part4 3.1.3 リスト・3.2 プログラミング、はじめの一歩】
PythonCE_3-4.ipynb
4章 制御構造ツール
出題数
出題数は9問
ページ数は20ページになります。
if文
for文
反復可能体(iterable)/反復子(iterator)
range関数
ビルトイン関数の1つ。
連続した数値を要素として持つ。
シーケンスのインデックスで反復をかけたいときは
range()とlen()を使う。
code
動画で確認したい方はこちら
【part1 if文・for文・range()関数】
【part2 else節・break文・continue文・pass文】
【part3 関数の基本】
【part4 関数の引数について】
【part5 アンパック・lambda式・関数アノテーション】
コードのダウンロードはこちら
【part1 if文・for文・range()関数】
PythonCE_4-1.ipynb
【part2 else節・break文・continue文・pass文】
PythonCE_4-2.ipynb
【part3 関数の基本】
PythonCE_4-3.ipynb
【part4 関数の引数について】
PythonCE_4-4.ipynb
【part5 アンパック・lambda式・関数アノテーション】
PythonCE_4-5.ipynb
5章 データ構造
動画で確認したい方はこちら
【part1 リストのメソッド・リスト内包表記】
【part2 タプルと集合】
【part3 辞書の基本とループのテクニック】
【part4 比較演算子・ブール演算子など】
コードのダウンロードはこちら
【part1 リストのメソッド・リスト内包表記】
PythonCE_5-1.ipynb
【part2 タプルと集合】
PythonCE_5-2.ipynb
【part3 辞書の基本とループのテクニック】
PythonCE_5-3.ipynb
【part4 比較演算子・ブール演算子など】
PythonCE_5-4.ipynb
6章 モジュール
動画で確認したい方はこちら
【part1 モジュールの基本】
【part2 if __name__ == __main__など】
【part3 組み込みモジュール・dir()関数】
【part4 パッケージの基本】
【part5 __all__変数・相対インポート】
7章 入出力
動画で確認したい方はこちら
【part1 出力フォーマットの基本】
【part2 f-string・str.format()】
【part3 open()関数・withキーワード】
【part4 ファイルオブジェクトのメソッド・jsonファイル】
8章 エラーと例外
準備中
9章 クラス
準備中
10章 標準ライブラリめぐり
準備中
11章 標準ライブラリめぐりーPartⅡ
準備中
12章 仮想環境とパッケージ
準備中
14章 対話環境での入力行編集とヒストリ置換
準備中
コメント