Translations:Introduction to Python/133/ja

リストの一つのとても洗練された使用方法は、アイテムを参照して各要素で何らかの処理をすることです. 例えばこれを見てください：

alldaltons = ["Joe", "William", "Jack", "Averell"] for dalton in alldaltons: print dalton + " Dalton"

リストを使って（再びプログラミング専門用語！）"for ... in ..."コマンドと各要素で何らかの処理を行いました. 特殊な構文に注意してください. forコマンドは、:で完了するとこその次のコマンドを1ブロックのコマンドとします. コマンドラインに:を入力すると...コマンドプロンプトに変わります. これは:が行の終わりであることを示し次に入力される行が1ブロックであるとPythonは解釈します.

Pythonはどのようにしてfor...in構文の中で実行する命令文がどれぐらいあるのかを判断するのでしょうか？そのために、Pythonはインデントを使用しています. つまり、あなたの次の命令がすぐに実行されません. あなたは空白、連続した空白、またはタブ、連続したタブを使って記述します. 他のプログラミング言語では、括弧で括るなどPythonとは違う方法を使っています. あなたは同じインデントを使用して次の命令を記述している限り、それらはfor-inのブロックの一部とみなされます. あなたは2つのスペースを使用して記述した後、次の行を4つにするとエラーが発生します. 作業が終わったら、インデントせずに別の行を書き込むか、または単にEnterを押せばfor-inのブロックから戻ってくることができます.

インデントは幅の大きなインデントを（例えば幅が大きいのでスペースの代わりにタブを使用する）使う場合、大きなプログラムを書くときにどのような処理を実行しているかを明確にすることができるのでとてもクールです. for-in以外にもコードをインデントでブロックにする多くのコマンドがあります. for-inコマンドは命令を繰り返し実行するようなものにも使用することができます. 例えばrangeコマンドと組み合わせることができます.

serie = range(1,11) total = 0 print "sum" for number in serie: print number total = total + number print "" print total

より複雑なもの：

alldaltons = ["Joe", "William", "Jack", "Averell"] for n in range(4): print alldaltons[n], " is Dalton number ", n

rangeコマンドは、（あなたが開始番号を指定しない場合）0から始まる特性を持っており、最後の数は、指定した終了番号より1つ少なくなることに注意してください. それはもちろん、他のPythonコマンドでも同じです. 例えば、次のように:

alldaltons = ["Joe", "William", "Jack", "Averell"] total = len(alldaltons) for n in range(total): print alldaltons[n]

インデントされたブロックのもう一つの興味深い使用方法はifコマンドを使用することです. 特定の条件が満たされる場合に限り、ブロックのコードを実行します. 例えば:

alldaltons = ["Joe", "William", "Jack", "Averell"] if "Joe" in alldaltons: print "We found that Dalton!!!"

もちろん、これは常に最初のセンテンスを表示します. しかし、2行目を次のように書き換えると:

if "Lucky" in alldaltons:

何も表示されません. else:ステートメントを指定することができます.

alldaltons = ["Joe", "William", "Jack", "Averell"] if "Lucky" in alldaltons: print "We found that Dalton!!!" else: print "Such Dalton doesn't exist!"