IT・情報処理 / Python 認定

Python 3 エンジニア認定 基礎試験の例題・出題範囲・重要用語

文法/データ型/制御構文/関数/例外/標準ライブラリの基礎

出題範囲

  • 基本文法/字句構造
  • 例外/ファイル/標準ライブラリ
  • 関数/モジュール
  • データ型/コレクション
  • 制御構文

例題に挑戦

スキルサートのAIが生成した演習問題のサンプルです。アプリでは毎週新しい問題が追加されます。

例題1

Pythonの例外処理における try, except, else, finally ブロックの動作として、正しいものはどれか。

  1. finally ブロックは、except ブロックが実行されたときには実行されない。
  2. except ブロックは、例外が発生しなかったときにのみ実行される。
  3. else ブロックは、finally ブロックの後に記述しなければならない。
  4. finally ブロックは、例外が発生したかどうかにかかわらず最後に必ず実行される。
  5. else ブロックは、例外が発生したときにのみ実行される。
解答と解説を見る

正解: finally ブロックは、例外が発生したかどうかにかかわらず最後に必ず実行される。

正解は『finally ブロックは、例外が発生したかどうかにかかわらず最後に必ず実行される。』です。Pythonの例外処理において、tryブロック内で例外が発生したかどうか、あるいはexceptブロックでキャッチされたかどうかに関係なく、クリーンアップ処理などのために最後に必ず実行されるのがfinallyブロックの役割です。一方で、elseブロックは例外が発生しなかった場合にのみ実行され、exceptブロックは例外が発生した際にその処理を行うために使用されます。これらの順序は、try、except、else、finallyの順で記述する必要があります。

例題2

Pythonの標準ライブラリに関する記述のうち、誤っているものはどれか。

  1. sys.argv は、スクリプトに渡されたコマンドライン引数のリストを保持する。
  2. os.getcwd() は、現在の作業ディレクトリを返す。
  3. os.path.exists() は、指定したパスのファイルサイズをバイト単位で返す。
  4. sys.exit() は、実行中のプログラムを終了させるために使用される。
  5. os.system() は、OSのシェルコマンドを実行するために使用される。
解答と解説を見る

正解: os.path.exists() は、指定したパスのファイルサイズをバイト単位で返す。

正解は『os.path.exists() は、指定したパスのファイルサイズをバイト単位で返す。』です。この記述は誤りです。os.path.exists() は指定したパス(ファイルまたはディレクトリ)が存在するかどうかを判定し、真偽値(True/False)を返す関数です。ファイルサイズをバイト単位で取得するには、os.path.getsize() を使用します。その他の選択肢にある os.getcwd()、sys.argv、os.system()、sys.exit() の説明はすべて標準ライブラリの正しい動作を説明しています。特にコマンドライン引数の扱いやカレントディレクトリの取得は頻出の知識です。

重要用語

try-except
プログラム実行中に発生するエラー(例外)を捕捉し、プログラムを中断させずに特定の処理を実行するための構文です。tryブロック内にエラーが予想される処理を記述し、exceptブロックにエラー発生時の対応を記述します。これにより、予期せぬエラーによる強制終了を防ぎ、ユーザーに適切なエラーメッセージを表示するなど、安全なエラーハンドリングが可能になります。
raise
開発者が意図的に例外を発生させるために使用するキーワードです。特定の条件を満たさない場合にエラーを通知したい際に利用します。「raise 例外クラス名(メッセージ)」のように記述し、発生させた例外はtry-except文で捕捉可能です。独自のバリデーションチェックを実装する場合や、特定の条件下で処理を中断させたい場合に頻繁に活用されます。
finally
例外が発生したかどうかにかかわらず、必ず最後に実行したい処理を記述するためのブロックです。主にファイルのクローズやネットワーク接続の解除といった、リソースのクリーンアップ処理に使用されます。tryやexceptブロックでreturnやbreakが実行された場合でも、その直前にfinallyの内容が必ず実行されるという強い実行保証があるのが特徴です。
with文
コンテキストマネージャを利用して、リソースの開始と終了(準備と後片付け)を自動的に管理する構文です。ファイル操作で「with open(...) as f:」のように記述すると、ブロックを抜ける際に自動的にファイルがクローズされます。close()の呼び出し忘れによるリソース漏洩を確実に防ぐことができるため、Pythonにおけるファイル操作の推奨される書き方です。
open関数
ファイルを開いて操作するための組み込み関数です。引数にファイル名とモードを指定します。モードには読み込み用の'r'、上書き用の'w'、追記用の'a'、バイナリ形式用の'b'などがあり、これらを組み合わせて指定します。戻り値としてファイルオブジェクトを返し、操作終了後は適切に閉じる必要があります。試験では特にモードの指定方法が頻出します。
osモジュール
OSに依存する機能を利用するための標準ライブラリです。ファイルやディレクトリの作成、削除、名前変更などのファイルシステム操作をプログラムから行う際に使用します。現在の作業ディレクトリの取得や、環境変数の参照なども可能です。プラットフォーム(WindowsやLinuxなど)の違いを意識せずにファイル操作のコードを記述できる点が大きなメリットです。
sysモジュール
Pythonインタプリタや実行環境に直接関連する変数や関数を提供する標準ライブラリです。コマンドライン引数をリスト形式で取得するsys.argvや、プログラムを強制終了させるsys.exit()、モジュールの検索パスを保持するsys.pathなどがよく利用されます。システムの標準入出力(stdin, stdout)の制御や、Pythonのバージョン情報の取得にも使われます。
jsonモジュール
JSON形式のデータを扱うための標準ライブラリです。Pythonの辞書やリストをJSON形式の文字列に変換するシリアライズ(dumps)や、逆にJSON文字列をPythonのオブジェクトに変換するデシリアライズ(loads)機能を提供します。Web APIとのデータ通信や、設定ファイルの保存・読み込みなど、現代のプログラミングにおいて非常に重要な役割を担います。

Python 3 エンジニア認定 基礎試験の対策はアプリで

AIが毎週生成する新作問題・ランクマッチ・週次ランキング・AI診断で「続けられる」資格学習を。無料で始められます。

IT・情報処理の他の資格