Pythonの資格を取りたいんだけど、どう勉強したらいいんだろう
・勉強法とか、対策とか、ないんだろうか
・なんか効率的な勉強法があるとうれしんだけどなぁ
Python3エンジニア認定基礎試験の取得を目指す人に向けて、勉強法、対策、オススメ参考書をまとめました。
Python3エンジニア認定基礎試験に合格した認定者には、以下のような認定証がもらえます。
2021年頃に取得しました。
当サイト管理人のPython3基礎試験取得の前提
管理人(ユーゾウ)は情報系学部出身で、大学時代にJava、C言語のプログラミングを経験済みです。
プログラミングに関する知識を有してたので、参考書に出てくる単語等、Pythonの理解もある程度できる状態でした。
昨今のIT業界の動きを見ていくと、AIが盛り上がっています。データ分析分野においてPythonは役に立つし、転職等でも力を発揮する資格になります。Excel × Pythonなんて本も出版されるようになっているほどです。
僕の会社でもDX(デジタルトランスフォーメーション)を意識して、データドリブンというキーワードが重要になっています。
データドリブンというのは、収集したデータを分析し、意思決定等に役立てることを言っています。
Pythonはデータ操作・加工が得意な言語なため、データ分析に欠かせないBIツール「Tableau」や「Power BI」とも連携できます。
Excelでできないようなデータ操作もPythonでできるので、どの分野のエンジニアを目指す方にとっても取得して損はないでしょう。
Pythonの概要
Pythonはコンパイラが不要な、インタプリンタ言語です。
以下のような特徴があります。
① コンパイラを介さずに記述したプログラムをそのまま実行でき、手軽
② データ分析分野における様々なライブラリが広く普及している
③ 記述するコードをできるだけ簡素化し、シンプルな作りにすることが思想にある
④ C言語のようなポインタの概念は無いが、returnでの返り値が複数指定できる
⑤ 高速な処理には向いてないため、ゲームような様々な処理には向いてない
3Dゲームや凝ったゲームを作るのでなければ、Pythonでも手軽に作れるのでPythonを学ぶ第1歩としてゲーム開発を通して学ぶような書籍も色々あります。
Python3エンジニア認定基礎試験の概要
Python3エンジニア認定基礎試験の概要はこちらのページに掲載されている通り、以下になります。
受験方法:試験センターで受験
受験料:1万円(税別)、学割5千円(税別)
問題数:40問(28問正解で合格)
合格ライン:70%
試験時間:60分
試験範囲:「Pythonチュートリアル 第3版」の掲載内容が出題範囲
申込URL:http://cbt.odyssey-com.co.jp/pythonic-exam.html
※試験センターの申し込みとは別で、OdysseyのIDが必要で、試験センターでの受験時にOdysseyのID入力が必要になります。
章立て | 出題数 | 出題率 |
1章 食欲をそそってみようか | 1 | 2.5% |
2章 Pythonインタープリタの使い方 | 1 | 2.5% |
3章 気楽な入門編 | 6 | 15.0% |
4章 制御構造ツール | 9 | 22.5% |
5章 データ構造 | 7 | 17.5% |
6章 モジュール | 2 | 5.0% |
7章 入出力 | 1 | 2.5 |
8章 エラーと例外 | 4 | 10.0% |
9章 クラス | 2 | 5.0% |
10章 標準ライブラリめぐり | 4 | 10.0% |
11章 標準ライブラリめぐり─PartII | 1 | 2.5% |
12章 仮想環境とパッケージ | 1 | 2.5% |
13章 次はなに? | 0 | 0.0% |
14章 対話環境での入力行編集とヒストリ置換 | 1 | 2.5% |
合計 | 40 | 100.0% |
Python基礎取得に向けた基礎固め・勉強法・オススメ参考書
それでは、本ページの本題であるPythonエンジニア認定基礎取得に向けた基礎固め・勉強方法・オススメ参考書について紹介していきます。
Pythonエンジニア認定基礎取得に向けた勉強では以下の3つがオススメです。
① 教科書「Pythonチュートリアル 第3版」を読む
② Web問題集を解く
③ Python環境でコード実行して挙動を確かめる
まず①についてです。
既にPythonを触ったことがあり、他の参考書を持っているという人にとっても、Pythonの試験を絶対に落としたくないという人は、「Pythonチュートリアル 第3版」を読むことをオススメします。
こちらになります。
「Pythonチュートリアル 第3版」のどの章に何問、どんな問題が出るか予想がつくからです。
『if、for、while、配列、リスト、タプル、集合 等』に関しては当たり前でしょうが、「Pythonチュートリアル 第3版」に掲載されている関数(メソッド)を理解して、知っている、見たことがあるってだけでも重要だと思いますので、是非一度本屋でもいいので目を通すのが良いでしょう。
次に②についてです。
問題集は市販の教材にて販売されていませんが、2つのWebサイトの模擬試験を活用しましょう。
以下のDIVE INTO EXAMにて模擬試験が提供されています。
https://exam.diveintocode.jp/exam
こちらの模擬試験は受験するたびに問題の内容や順番が変わるので、5回程度学習することをオススメします。回答結果はすぐにわかります。
以下のPRIME STUDYにて模擬試験が提供されています。
https://study.prime-strategy.co.jp/
こちらの模擬試験は3回分用意されています。
回答結果はメールで受信する形式になります。
Pythonの実行環境をダウンロード & インストールしよう
最後に③のPythonの実行環境についてです。
まずは以下のURLからPythonの実行環境をダウンロードします。
https://www.python.org/
以下の画面が出るので、Downloadsにマウスを持っていきます。
Downloadsにマウスのカーソルあてると、Windows版のPython環境のダウンロードができます。
掲載時点では、versionがPython3.9.1でした。
クリックすると「python-3.9.1-amd64.exe」ファイルがダウンロードされます。
次にダウンロードしたファイル「python-3.9.1-amd64.exe」を実行しましょう。
以下の画面が出ますので、「Install launcher for all users(recommended)」と「Add Python 3.9 to PATH」にチェックを入れましょう。
なお、僕の場合は、インストール先のフォルダを指定したかったので「Customize installation」を選択しています。
次に以下の画面が出るので、それぞれのオプションにチェックをつけて、「NEXT」を押します。
次に以下の画面が出るので、以下のようにチェックを行い、フォルダ指定をしたい場合はフォルダ先を選択してください。最後に「Install」を押すとインストールが開始されます。
インストールが完了すると以下の画面になりますので、「Close」を押して、ウィザード画面を閉じます。
最後に正しくインストールされていることを確認するために、コマンドを実行します。
コマンドプロンプトを開いて、「Python –verison」と実行します。
すると、以下のようにインストールしたPythonのversionが表示されるので、コマンドのPATHもしっかり張られて、コマンドプロンプト上でPythonを実行することができるようになります。
Pythonを実行する際には「Python」とコマンドを打ちます。
するとプロンプトが変更されて「>>>」のような表示に変わります。
Python実行環境から抜けたいときは、「quit()」とコマンドを打てばPython実行環境から抜けることができます。(quit()は試験に出ます・・・)
Pythonコマンドが実行できない場合は環境変数を確認しよう
Pythonをインストールする際に「Add Python 3.9 to PATH」にチェックをつけているから、コマンドプロンプト上でPythonコマンドが実行できるようになっています。
もしコマンドを実行しても挙動が想定外であれば、環境変数を確認すると良いでしょう。
以下のようにパソコンのプロパティを開いて、「システムの詳細設定」を押します。
次に以下の画面が出ますので、システム環境変数側でスクロールして「Path変数」を見つけ、「編集」を押してください。
※下段のシステム環境変数は使っているWindowsの全てのユーザに適用される設定です。
逆に上段のユーザ環境変数はログインしているユーザ区々の設定になります。
Path変数の編集にて、以下の画面のように「C:\Python-3.9.1\Scripts\」と「C:\Python-3.9.1\」を追加しましょう。※上記のPathの記述「\」は¥と読み替えてください。
Python3対策ノウハウ ~Pythonチュートリアルに記載なし~
「Pythonチュートリアル 第3版」で挙動について説明されていない部分が数か所あります。
Webでの検索、自身でテストして挙動を確かめることでわかることがあります。
そのノウハウを以下の通り、掲載します。
(1)rangeの動き
for n in range(2, 10):
for x in range(2 ,n): ← rangeが2で、n=2だとスキップされる
if n % x == 0:
(2)大文字と小文字の値
print(ord('H'))
# 72
print(ord('h'))
# 104 ←文字列はASCIIコード値となっており、小文字の方が、値が大きい
(3)文字列に比較順序
以下を実行すると一文字ずつ比較する
①PHPのP、PerlのP、PythonのPを比較
②PHPのH、Perlのe、Pythonのyを比較
③PHPのP、Perlのr、Pythonのtを比較
終了して、trueで返す。
'PHP' < 'Perl' < 'Python'
# true
(4)出力される文字列がどれか
文字列が空の箇所はfalseと扱われ、文字列が代入されている変数はtrueとなります。
左から演算し、tureになっている箇所を返すため、「suzuki」が正解(出力)されます。
name1,name2,name3,name4= '', 'suzuki','tanaka','sato'
selected_name = name1 or name2 or name3 or name4
print(selected_name)
#suzuki
(5)lambdaで標準入力時の動作
#の実行結果を得るために、【A】にはどんなコードを記述するかという問題です。
正解はlambda arg : arg[1]です。
挙動が、arg[0]だと数字ベースでソートし、arg[1]だと文字列ベースでソートします。
実行結果が、a,b,cの順になっているので、arg[1]が正解になります。
pairs = [(3, 'b'),(1, 'c'),(2, 'a')]
pairs.sort(key =【A】)
print(pairs)
#[(2, 'a'), (3, 'b'), (1, 'c')]
(6)ネストされた配列の要素抽出
正解は、list[1][1][1]です。
挙動が以下のようになっています。
list[0]→6
list[1]→[5,[1,2]]
list[2]→4
list[3]→[3,0]
list[1][0]→5
list[1][1]→[1,2]
list[1][1][1]→2
list = [6,[5,[1,2]],4,[3,0]]
2を出すコマンドは?
まとめ
Python3エンジニア認定基礎試験を取得するために以下を実施する。
①教科書「Python3チュートリアル 第3版」を購入し、試験範囲を想定される問題を把握する。
②Webサイトの模擬試験を活用して、理解度チェックを深める。
③Python実行環境で挙動を確かめる。
コメント