Pythonは、インデントによってコードブロックを認識します。
インデント
Pythonの最も特徴的な機能は、コードのブロックを示すためにインデントを使用することです。例としてif選択構造を取り上げましょう。 ifの後に条件が続く場合、条件がtrueの場合、ifに属するコードブロックが実行されます。
最初にC言語の表現を見てください(これはPythonではなくCであることに注意してください!)
if( i 0){
x =1;
y =2;}
iが0の場合、括弧内に含まれる2つの割り当て操作を実行します。括弧内に含まれているのは、ifに属するブロック操作です。
Pythonでは、同じ目的で、このパッセージは次のようになります
if i 0:
x =1
y =2
Pythonでは、i 0の周りの括弧が削除され、各文の終わりにあるセミコロンが削除され、ブロックを表す中括弧も削除されました。
if ...の後に余分な:(コロン)があり、x = 1およびy = 2の前に4つのスペースがあるインデントがあります。インデントを通じて、Pythonはこれらの2つの文がifに属することを認識します。 Pythonがこのように設計されている理由は、純粋にプログラムの美しさのためです。
拡張の例:
Pythonコードのインデント
Python関数には明確な開始と終了がなく、関数の開始と終了を示す中括弧もありません。唯一の区切り文字はコロン(:)であり、コード自体がインデントされます。
例:ビルド接続のインデント接続機能
def buildConnectionString(params):"""Build a connection string from a dictionary of parameters.
Returns string."""
return";".join(["%s=%s"%(k, v)for k, v in params.items()])
コードブロックは、そのインデントによって定義されます。 「コードブロック」とは、関数、ifステートメント、forループ、whileループなどを意味します。開始インデントはブロックの開始を示し、インデントのキャンセルはブロックの終了を示します。明確な括弧、中括弧、またはキーワードはありません。これは、空白が重要で一貫していることを意味します。この例では、機能コード(doc文字列を含む)は4つのスペースでインデントされています。一貫している限り、4である必要はありません。インデントされていない最初の行は、関数本体の外側にあると見なされます。
Recommended Posts