出題範囲(5分野)
- 基本文法/字句構造99問
- 例外/ファイル/標準ライブラリ105問
- 関数/モジュール99問
- データ型/コレクション100問
- 制御構文100問
Python 3 エンジニア認定 基礎試験の例題(6問・解説つき)
スキルサートのAIが出題範囲に沿って作成した演習問題です(過去問ではありません)。アプリでは毎週新しい問題が追加されます。
例題1基本文法/字句構造
Pythonの識別子(名前)の命名規則として、文法上**使用できない**ものはどれか。
- _user_id
- count_2
- MyClass
- print_data
- 3rd_item
解答と解説を見る
正解: 3rd_item
正解は「3rd_item」です。Pythonの識別子(変数名、関数名、クラス名など)の命名規則として、最初の1文字目に数字を用いることは許可されていません。識別子の先頭文字は、英文字(大文字・小文字)またはアンダースコア(_)でなければならず、2文字目以降に初めて数字を組み合わせて使用することができます。したがって、数字から始まっている「3rd_item」は文法違反となり、実行時に構文エラーが発生します。他の選択肢はすべて正しい規則に従っています。
例題2例外/ファイル/標準ライブラリ
Pythonの例外処理における try, except, else, finally ブロックの動作として、正しいものはどれか。
- finally ブロックは、except ブロックが実行されたときには実行されない。
- except ブロックは、例外が発生しなかったときにのみ実行される。
- else ブロックは、finally ブロックの後に記述しなければならない。
- finally ブロックは、例外が発生したかどうかにかかわらず最後に必ず実行される。
- else ブロックは、例外が発生したときにのみ実行される。
解答と解説を見る
正解: finally ブロックは、例外が発生したかどうかにかかわらず最後に必ず実行される。
正解は『finally ブロックは、例外が発生したかどうかにかかわらず最後に必ず実行される。』です。Pythonの例外処理において、tryブロック内で例外が発生したかどうか、あるいはexceptブロックでキャッチされたかどうかに関係なく、クリーンアップ処理などのために最後に必ず実行されるのがfinallyブロックの役割です。一方で、elseブロックは例外が発生しなかった場合にのみ実行され、exceptブロックは例外が発生した際にその処理を行うために使用されます。これらの順序は、try、except、else、finallyの順で記述する必要があります。
例題3関数/モジュール
Pythonがモジュールを検索する際、インタープリタがディレクトリを探索する優先順位として、適切なものはどれか。
- 環境変数 PYTHONPATH、インストールデフォルト、入力スクリプトのあるディレクトリ
- インストールデフォルト、入力スクリプトのあるディレクトリ、環境変数 PYTHONPATH
- 入力スクリプトのあるディレクトリ、インストールデフォルト、環境変数 PYTHONPATH
- 入力スクリプトのあるディレクトリ、環境変数 PYTHONPATH、インストールデフォルト
- 環境変数 PYTHONPATH、入力スクリプトのあるディレクトリ、インストールデフォルト
解答と解説を見る
正解: 入力スクリプトのあるディレクトリ、環境変数 PYTHONPATH、インストールデフォルト
正解は『入力スクリプトのあるディレクトリ、環境変数 PYTHONPATH、インストールデフォルト』です。Pythonインタープリタがモジュールを検索する際は、まず実行されているスクリプトが置かれているディレクトリを探索します。次に環境変数 PYTHONPATH で指定されたディレクトリ群、最後にインストール時に設定されたデフォルトパスの順で検索が行われます。これらのパスのリストは sys.path 変数に格納されており、プログラム実行中にリストを操作して検索パスを追加することも可能です。
例題4データ型/コレクション
Pythonのリスト型に関する説明のうち、誤っているものはどれか。
- extend() メソッドは、引数として渡されたイテラブルの全要素をリストに追加する。
- clear() メソッドは、リストからすべての要素を削除する。
- insert() メソッドは、指定したインデックスの直前に要素を挿入する。
- pop() メソッドに引数を与えない場合、リストの最初の要素を削除して返す。
- append() メソッドは、リストの末尾に新しい要素を1つ追加する。
解答と解説を見る
正解: pop() メソッドに引数を与えない場合、リストの最初の要素を削除して返す。
Pythonのリストにおいて、pop() メソッドは引数を指定しない場合、リストの「末尾」の要素を削除してその値を返します。選択肢にある「最初の要素を削除する」という記述は誤りです。最初の要素を削除したい場合は pop(0) のようにインデックス0を明示的に指定する必要があります。その他の append() や extend()、insert()、clear() メソッドに関する記述は、Pythonの公式ドキュメント通りの正しい挙動です。正解は『pop() メソッドに引数を与えない場合、リストの最初の要素を削除して返す。』です。
例題5制御構文
Pythonのrange()関数について、range(5, 10, 2) をリスト形式に変換した場合の結果として正しいものはどれですか。
- [5, 6, 7, 8, 9]
- [7, 9]
- [5, 10, 2]
- [5, 7, 9]
- [5, 7, 9, 11]
解答と解説を見る
正解: [5, 7, 9]
正解は「[5, 7, 9]」です。range(開始, 終了, ステップ) の形式では、開始値から始まり、終了値(この値自体は含まない)の手前までを、指定したステップ(刻み幅)で生成します。この問題では、5から始まり10未満の数値を2刻みで生成するため、5、7、9の3つの値が含まれるリストとなります。11は終了条件である10を超えているため含まれず、また終了値である10そのものも範囲には含まれません。Pythonの制御構文において、range関数はforループの回数指定などで非常に頻繁に利用されるため、その引数の仕様を正確に把握しておくことが重要です。
例題6基本文法/字句構造
Pythonの字句構造および基本文法に関する記述のうち、**誤っているもの**はどれか。
- 1つのソースファイル内でタブとスペースを混ぜてインデントに使用できる
- # 記号から行末まではコメントとして扱われる
- 識別子(変数名など)では大文字と小文字が区別される
- Pythonはインデントによってコードのブロックを表現する
- Python 3の識別子にはUnicode文字を使用することができる
解答と解説を見る
正解: 1つのソースファイル内でタブとスペースを混ぜてインデントに使用できる
正解は「1つのソースファイル内でタブとスペースを混ぜてインデントに使用できる」です。Python 3では、同じソースコード内でタブとスペースを混用してインデントを行うことは厳格に禁止されており、これらを混在させると「IndentationError」が発生します。公式のスタイルガイドであるPEP 8でも、スペース4つによるインデントが強く推奨されています。その他の選択肢であるコメントの記述方法や、大文字・小文字の区別といったルールはすべてPythonの正しい基本仕様です。
Python 3 エンジニア認定 基礎試験の重要用語
- インデント
- Pythonにおいてコードのブロック(まとまり)を表現するために使用される空白のことです。通常、スペース4つ分が推奨されています。他言語のように波括弧を使用せず、字下げの深さによって制御構造の範囲を決定するため、構文上の重要な役割を持ちます。一貫性のないインデントや混在は実行時のエラー(IndentationError)の原因となるため、正確な記述が求められます。
- try-except
- プログラム実行中に発生するエラー(例外)を捕捉し、プログラムを中断させずに特定の処理を実行するための構文です。tryブロック内にエラーが予想される処理を記述し、exceptブロックにエラー発生時の対応を記述します。これにより、予期せぬエラーによる強制終了を防ぎ、ユーザーに適切なエラーメッセージを表示するなど、安全なエラーハンドリングが可能になります。
- def文
- Pythonで関数を定義するためのキーワードです。「def 関数名(引数):」の形式で記述し、その後にインデントを下げて関数の処理内容を記述します。関数を利用することで、特定の処理をひとまとめにして再利用することが可能になり、コードの可読性と保守性が向上します。試験では、定義時のコロン(:)の付け忘れやインデントの規則について問われることが多いため注意が必要です。
- リスト (list)
- 複数の要素を順序付けて管理するデータ型です。角括弧 [] を使用して定義し、要素の追加、削除、変更が自由に行える「ミュータブル」な特性を持ちます。異なるデータ型の要素を混在させることも可能です。試験では、appendやpopなどの操作メソッドや、スライス機能による部分抽出が頻繁に出題されるため、基本的な操作の習得が必須です。
- if文
- 条件に応じて処理を分岐させるための構文です。if、elif、elseキーワードを用いて、条件が真(True)の場合に特定のブロックを実行します。Pythonではインデントによってブロックの範囲を指定するのが特徴です。比較演算子や論理演算子を組み合わせて複雑な条件を記述することも可能で、プログラムの意思決定を行うための基礎となります。
- コメント
- プログラムの動作に影響を与えない、コード内の説明文のことです。Pythonでは「#」記号から行末までがコメントとして扱われ、実行時には無視されます。コードの意図を記述したり、一時的に特定の処理を無効化(コメントアウト)したりするために用いられます。複数行の説明にはトリプルクォートによる文字列が代用されることもありますが、公式なコメントはハッシュ記号を使用します。
- raise
- 開発者が意図的に例外を発生させるために使用するキーワードです。特定の条件を満たさない場合にエラーを通知したい際に利用します。「raise 例外クラス名(メッセージ)」のように記述し、発生させた例外はtry-except文で捕捉可能です。独自のバリデーションチェックを実装する場合や、特定の条件下で処理を中断させたい場合に頻繁に活用されます。
- return文
- 関数の実行結果(戻り値)を呼び出し元に返すための命令です。return文が実行されると、その関数の処理は即座に終了し、呼び出し元へ指定された値が渡されます。値を指定せずにreturnのみを記述した場合や、関数内にreturn文自体が存在しない場合は、Pythonの仕様として暗黙的に「None」が返される仕組みになっています。
よくある質問
- Python 3 エンジニア認定 基礎試験の問題はスキルサートで何問解けますか?
- 全503問・5分野の問題を用意しています。問題は出題範囲に沿って随時追加しています。
- 無料で使えますか?
- 無料プランで週10回の演習(1回10問)と、毎日の「今日の1問」を利用できます。解説を読み、わからない点はAIに質問できます。
- ここの問題は過去問ですか?
- 過去問ではありません。出題範囲に沿ってAIが作成した演習問題です。すべて解説つきで、間違えた問題は繰り返し解けます。
Python 3 エンジニア認定 基礎試験の対策はアプリで
AIが毎週生成する新作問題・ランクマッチ・週次ランキング・AI診断で「続けられる」資格学習を。無料で始められます。