19

私はしばらくの間グーグルとこのウェブサイトを検索してきました、しかし私はちょうど主題についての正解を見つけることができないようです。

Pythonの空白とは何ですか?各行のインデントと関係があることは知っていますが、正確な使用方法はわかりません。それはどのように機能しますか?

4

5 に答える 5

11

空白はブロックを表すために使用されます。他の言語では中括弧 ({}) が一般的です。インデントすると、前の行の子になります。インデントに加えて、親にはそれに続くコロンもあります。

im_a_parent:
    im_a_child:
        im_a_grandchild
    im_another_child:
        im_another_grand_child

頭のてっぺんから、、defifelifelsetryexceptfinallywithおよびすべての開始ブロック。ブロックを終了するには、単純にアウトデントすると、兄弟ができます。上記のとは兄弟です。forwhileclassim_a_childim_another_child

于 2012-12-14T18:48:56.833 に答える
9

空白とは、スペーシングに使用され、「空の」表現を持つ文字を意味します。Python のコンテキストでは、タブとスペースを意味します (おそらくエキゾチックな Unicode スペースも含まれますが、使用しないでください)。決定的な参照はここにあります: http://docs.python.org/2/reference/lexical_analysis.html#indentation

正確な使い方はわかりません。

インデントしたい行の先頭に置きます。スペースとタブを混在させると、おかしな結果になる可能性が高いため、どちらか一方を使用してください。(Python コミュニティは通常、4 つのスペースのインデントを規定する PEP8 スタイルに従います)。

各コロンの後に新しいインデント レベルを作成する必要があります。

for x in range(0, 50):
    print x
    print 2*x

print x

このコードでは、最初の 2 つのprintステートメントはforfor. 3 番目のprint行は、前の (空白でない) 行よりもインデントが少ないため、外側にあります。

一貫してインデント/インデントを解除しないと、インデント エラーが発生します。さらに、すべての複合ステートメント (つまり、コロンを含むステートメント) は同じ行に本体を指定できるため、インデントは必要ありませんが、本体は単一のステートメントで構成されている必要があります。

最後に、特定のステートメントはlambda、コロンを特徴としますが、本文として複数行ブロックを持つことはできません。

于 2012-12-14T18:49:42.170 に答える
4

中かっことして機能します。プログラム全体を通して空白の数を一定に保つ必要があります。

例 1:

def main():
     print "we are in main function"
     print "print 2nd line"

main()

結果:

主な機能
print 2行目 にいます

例 2:

def main():
    print "we are in main function"
print "print 2nd line"

main()

結果:

print 2行目
メイン関数にいます

ここで、最初のプログラムでは、両方のステートメントが同じ数の空白を持っているため、両方のステートメントがメイン関数の下にありますが、2 番目のプログラムでは、メイン関数が 2 行目の後に呼び出されるため、1 行目が後で出力されます。注 - 2 行目には空白がないため、メイン関数から独立しています。

于 2016-05-27T05:40:13.033 に答える