データサイエンス時代で活躍する人材になるために

データサイエンス時代で活躍できる人材になるために

純粋数学から応用数学までデータサイエンスに関わる様々なことについて取り上げます!

試験対策:Python3エンジニア認定基礎試験

Python3エンジニア認定基礎試験の試験対策としての記事を今回は書きます.
DIVE INTO EXAMから模擬試験を受けることができ,気になった問題や関連する話題について取り上げます.



問1 以下のプログラムを実行した際の出力結果を答えなさい.

name1,name2,name3,name4= '', 'suzuki','tanaka','sato'
selected_name = name1 or name2 or name3 or name4
print(selected_name)

正解: suzuki

解説
論理演算子には and,or,notの3つがあります.
orは,aまたはbのどちらか一方でもTrueならTrue.両方ともFalseならFalseです.

>>> True and True
True
>>> True and False
False

True,False以外の値が使われた時は,値の大きさに関わらず,orでは左項,andでは右項の式を返します.

>>> 4 or 5
4

問2 Pythonインタープリタにて以下のように入力した場合の出力結果を答えなさい.

>>> import reprlib
>>> reprlib.repr(set('diveintocode'))

正解: "{'c', 'd', 'e', 'i', 'n', 'o', ...}"

解説
長い配列の最初の数個だけを表示させたい!
そんな場合にreprlibモジュールを使います.
reprlib.reprで出力の長さを制限することができます.

問3 対話モード時に,最後に表示した式を格納する変数を答えなさい.

正解: アンダーバー「_」です.

解説
アンダーバー「_」に最後の計算結果が代入されます.

>>> a="機械学習サイコー!!"
>>> a
'機械学習サイコー!!'
>>> _
'機械学習サイコー!!'

問4 ビルドイン関数dir()はどんな機能を兼ね備えているか答えなさい.

正解: モジュールが定義している名前を確認することができる.

解説
下記のような使い方をすることでモジュールが定義している名前を確認できます.
dir(モジュール)
dir(パッケージ)

>>> import sys
>>> dir(sys)
['__breakpointhook__', '__displayhook__', '__doc__', '__excepthook__', 

#以下省略します

sysモジュールが定義している名前を確認することができました.

問5 コンパイルPythonファイルの拡張子を答えなさい.

正解: pycです.

解説 PythonでもCやJavaのようにコンパイルすることが可能です.

print('コンパイルしてみますね')

上記のコードをtest.pyというファイルに保存します.

>>> python
>>> import py_compile
>>> py_compile.compile('test.py')
'__pycache__/test.cpython-37.pyc'

test.cpython-37.pycが生成されました!
一番後ろの拡張子pycが見当たるでしょうか?
Pythonスクリプトを抜けて,

cd __pycache__
python test.cpython-37.pyc

と入力すると,

コンパイルしてみますね

と表示されます.

問6 sys.ps1は何を表しているか答えなさい.

正解: 一次プロントを定義した文字列です.

解説
pythonインタプリタの一次プロンプトは'>>>'です.
また,二次プロンプトは'...'です.

>>> import sys 
>>> sys.ps1
'>>> '
>>> sys.ps2
'... '

一次プロントは以下のように変更することが可能です.

>>>>>> sys.ps1='prompt:'
prompt:

'>>>'から'prompt:'へ変更することができました.

Python3エンジニア認定基礎試験のための指定教科書は下記です.

Pythonチュートリアル 第3版

Pythonチュートリアル 第3版

こちらの指定教科書はなかなか難しく,副教材としては次が役に立ちました.
詳細!Python 3 入門ノート

詳細!Python 3 入門ノート

またUdemyの「現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル」はとても分かり易く勉強になります.リンクを貼っておきます.
https://www.udemy.com/share/1013hkAkcbc11UTXw=/

2月までにPython3エンジニア認定基礎試験に合格したいと思います.
ではまた!