令和2年度秋期 応用情報技術者試験 午前 問7
オブジェクト指向のプログラム言語であり,クラスや関数,条件文などのコードブロックの範囲はインデントの深さによって指定する仕様であるものはどれか。
- ア JavaScript
- イ Perl
- ウ Python
- エ Ruby
解答・解説を見る
正解:ウ
AI解説
Pythonはオブジェクト指向のスクリプト言語であり、波括弧やbegin/endではなく、インデント(字下げ)の深さによってクラス・関数・条件文などのコードブロックの範囲を規定する仕様(オフサイドルール)を持つ。 ア: JavaScriptはブロックを波括弧{}で囲んで指定する言語であり、インデントは構文上必須ではないため誤りである。 イ: Perlもブロックを波括弧{}で指定するスクリプト言語であり、インデントによるブロック指定ではないため誤りである。 ウ: 正しい。Pythonはインデントの深さでブロックの範囲を規定する仕様をもつオブジェクト指向言語である。 エ: RubyはendキーワードでブロックをPythonのように閉じる言語であり、インデントは可読性のための慣習にすぎず構文上必須ではないため誤りである。 💡 「インデントが構文そのもの」を採用しているのはPythonの大きな特徴として覚えておく。他言語のインデントは単なる整形の慣習である点との違いに注意する。
出典:令和2年度 秋期 応用情報技術者試験 午前 問7 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。