Select Language

AI Technology Community

1.10、Pythonインデントとコードブロック

他の言語とは異なり、Python ではインデント(字下げ)を使ってコードブロックを表します。つまり、連続するコード行のうち、インデントが同じ行は1つのブロックと見なされます。図1に示すコードは2つのブロックを含んでおり、それらのインデントは同じです。

コードブロック
図1:コードブロック


他の言語と同様に、ブロックは入れ子にすることができます。図2に示すコードは、大きなブロックの中に小さなブロックが含まれています。1つのブロックには少なくとも1つの文が含まれます。

入れ子ブロック
図2:入れ子ブロック


Python はこの点で、C言語や Shell とは異なります。

  • C言語では、1組の中括弧 { } を使ってブロックを識別します。この中括弧の中に入れられたすべての内容は、このブロックに属すると見なされます。

  • 一方、Shell では、異なる開始と終了の識別子を使用します。たとえば、if ブロックでは、if と fi をそれぞれブロックの開始と終了を識別するために使用し、この間のすべてが if ブロックの内容になります。


図3に示すC言語のコードは、3つのブロックを含んでおり、それぞれ異なる中括弧の中に置かれています。

C言語におけるコードブロック
図3:C言語におけるコードブロック


インデントの構文による利点は、コードが非常に整然として規範的に見えることです。もちろん、図3に示すCコードも非常に整然と見えます。しかし、Cコードとは異なり、Python コードは整然としていなければなりませんが、Cコードにはこの強制的な要求はありません。

Cコードはまったく理解できないように書くことができますが、それでも正常に動作します。図3に示す最大値を求めるCコードは、図4に示すように書くこともでき、両者の意味はまったく同じです。

C言語におけるブロックは整列を要求しない
図4:C言語におけるブロックは整列を要求しない


一部のプログラマは、娯楽を至上とする精神で、多くの斬新なコードを書いています。図5に示すCコードは、飛行機のように見えますが、実際にはこのコードは飛行シミュレーターです。

見苦しいが動作するCコード
図5:見苦しいが動作するCコード

しかし、Python では、このようなコードは動作しません。


post
Python入門
2021-12-10 23:44:02join communtity
  • 11

    item of content
Python入門は全部で11章あります。
このチュートリアルを開いていただき、ありがとうございます。第1章として、皆さんを楽しくPythonの初歩へと導きます。
この章では、Pythonの歴史から始め、Pythonのバージョン、Python言語の特徴、そしてPython開発に必要な基礎知識や基本文法などを紹介します。
これらの内容をマスターすることで、後の章での学習に良い土台を築くことができます。