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月時点)
出題の割合は以下のようになります。
本を購入しなくても以下のサイトに無料で公開されています。
第四版出版時のバージョンが3.9のため、以下の画像のように3.9に変更してください。
合格率は77%(2018年4月時点)となっています。
一般社団法人Pythonエンジニア育成推進協会(代表理事:吉政忠志、本社所在:東京都世田谷区、以下「Pythonエンジニア育成推進協会」)は2017年6月から開始したPython 3 エンジニア認定基礎試験が2017年4月末時点で1273名の受験となり、開始11が月で1200名を超えたことを発表いたしました。同年4月末時点での合格者数は989名に達しました。
引用:https://www.pythonic-exam.com/archives/news/python1200
2024年3月追記
2024年2月末時点での合格率が発表されました。
Python 3 エンジニア認定基礎試験(Python基礎試験)
引用:https://www.pythonic-exam.com/archives/news/50000-2
・合格率76.0%
・Python業務未経験率 36.8%
・資格手当有り:27.6%
補足説明:基礎レベルの試験としては合格率、業務未経験率も妥当な数値になりました。最近では学生によるPython教育や中高年のリスキリング学習の一環での受験傾向が多く、個人での受験が多いことから資格手当の割合が少なくなっています。
以下のサイトで模擬試験を受けることができます。
PyQでは、模擬に加えて試験対策を受講することもできます。
2023年5月から公式問題集が販売開始となっています。
既に合格していますが、実際に購入してみました。
動画で確認したい方はこちら
1章 食欲をそそってみようか
出題数
出題数は1問
ページ数は3ページになります。
プログラミングをはじめよう
C/C++/Javaはプロフェッショナルなソフトウェア開発向けであり、UNIXシェルスクリプト/Windowsバッチファイルは用途が限られるため、Pythonで簡単にはじめよう。
Pythonの特徴
- Pythonは超高水準言語。高水準言語とは、人間が理解しやすい言語のことをいいます。反対の言葉として低水準言語があります。低水準言語は機械語に近い言語になります。
- 型の指定が不要。これを動的型付けと言い、Pythonが実行時に型を判断しています。反対の言葉として静的型付けがあります。静的型付けは変数を使用する際に、型を指定する必要があります。
Pythonの主な型はこちら - 文のグルーピングがインデントで表される。インデントとは字下げのことをいいます。
- モジュールで再利用することができる。詳しくは「6章 モジュール」で述べますが、Pythonは汎用性のあるコードを再利用することができます。
Pythonでできること
Pythonでできることといえば
・テキストファイルの検索置換
・ファイル名の変更
・データベースの作成
・GUIアプリケーションの作成
・ゲームの作成
があります。この他にも、AIの構築やWebアプリ開発などもできます。
関連記事
【入門者向け】効率よくPythonを習得する3Step
GUIとは
GUIとは、グラフィカルユーザインターフェース(Graphical User Interface)の略で画面上にボタンやアイコンを表示し、直感的に操作できるようにしたものです。
反対にCUIというものもあり、こちらはキャラクターユーザーインターフェイス(Character User Interface)の略で命令をすべて文字によって行います。
図で違いを表すとこうなります。
関連記事
【永久保存版】PySimpleGUIの基本操作すべてお伝えします
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】sysモジュールについて解説(argv・path・exitなど)
エンコーディング
エンコーディングとは、一定の規則に従って、別の形式のデータに変換すること
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文字列 特殊文字として解釈して欲しくないときに使う
・トリプルクォート(”’…”’ または “””…”””) 複数行にわたり書くことができる
関連記事
【Python】raw文字列の使い方(エスケープシーケンスを無効化)
文字列はインデックス指定できる
個々の文字を取得することができる。
範囲外を指定した場合は、IndexErrorになる。
スライス
部分文字列を取得することができる。
範囲外を指定してもエラーにならない。
文字列は改変できない
値の改変ができないことをイミュータブル(⇔ミュータブル)であるといい、文字列はイミュータブルである。よって、異なる文字列が必要なときは新しい文字列を生成する。
関連記事
【Python】ミュータブルとイミュータブルを理解する
ビルトイン関数
最初から組み込まれている関数をビルトイン関数という。
・len関数 オブジェクトの長さ (要素の数) を返す
・type関数 オブジェクトの型を返す
関連記事
【Python】len関数を使って文字列やリストの長さを取得する
【Python】型を判定できる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文
Pythonにおける条件分岐は、if、elif、elseになります。
for文
for文はあらゆるシーケンス(リストや文字列)に対し、そのシーケンス内の順序で反復をかけます。
コード
コレクションの中身を変更したいときはコピーを反復にかけるか新しいコレクションを作る
コピーを使って要素を削除する
コード
新たな辞書型を作成する
反復可能体(iterable)/反復子(iterator)
range関数
ビルトイン関数の1つ。
連続した数値を要素として持つ。
シーケンスのインデックスで反復をかけたいときは
range()とlen()を使う。
code
関連記事
【Python】range関数の使い方を1から解説
【Python】len関数を使って文字列やリストの長さを取得する
動画で確認したい方はこちら
【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章 対話環境での入力行編集とヒストリ置換
準備中
まとめ
関連記事
【Python3エンジニア認定基礎試験】合格体験記からみんなの勉強方法を探ってみた
【Python3エンジニア認定基礎試験】合格したので勉強方法や難易度について解説 – Qiita
コメント