令和2年秋期試験午前問題 問7

オブジェクト指向のプログラム言語であり,クラスや関数,条件文などのコードブロックの範囲はインデントの深さによって指定する仕様であるものはどれか。

  • JavaScript
  • Perl
  • Python
  • Ruby
正解 問題へ
分野:テクノロジ系
中分類:アルゴリズムとプログラミング
小分類:プログラム言語
Python(パイソン)は、1991年にグイド・ヴァンロッサム氏によって開発された汎用の高水準プログラミング言語です。コードブロックのインデントが構文規則となっていることがソースコード上の特徴です。小さなプログラムから大規模なシステムまで、そしてデスクトップアプリケーションからWebアプリケーションの開発まで様々な場面で使用されています("YouTube"や"Dropbox"などが有名)。簡潔な文法と使いやすさ、対応するプラットフォームの多さ、優れたライブラリの存在等により、AI開発に適した言語としても人気が過熱しています。

C、Java、および選択肢のJavaScript、Perlを含む一般的なプログラミング言語では、以下のようにコードブロックを"{"と"}"で囲って示します。
if (条件式) {
 処理1
 処理2
} else {
 処理3
}
コードブロック内の字下げ(インデント)は、コーディング規約上の指定であり言語仕様上は任意です。また、コードブロック内の処理が1つのときには"{ }"を省略可能となっています。したがって、上記のコードを次のようにわかりにくく記述してもコンパイルは問題なくできるわけです。
if (
条件式)
{ 処理1
処理2 }
else 処理3
一方、Pythonではコードブロックをインデントの深さによって示す言語仕様になっており、"{ }"で囲む必要がありません。また条件式全体を"( )"で囲むこともありませんので見た感じがスッキリします。インデントの強制により誰が記述してもある程度整形されたソースコードになるため、可読性に優れていると言えます。
if 条件式:
 処理1
 処理2
else:
 処理3
  • JavaScriptは、"{"と"}"で囲むことでコードブロックを指定します。
  • Perlは、"{"と"}"で囲むことでコードブロックを指定します。
  • 正しい。Pythonは、インデントの深さでコードブロックを指定します。
  • Rubyは、特定のキーワードと"end"で囲むことでコードブロックを指定します。

Pagetop