2011-02-03 15 views
1

私はちょうどPythonを学び始めました。私はその出力がWhat's all this, then?する必要があります理解が、私はそのための適切な説明を見つけることができないよう Pythonの出力の理由を理解できません

else:

print "What's all this, then?" 
print "And now for something completely different..." 

if 0:

次のコードに出くわしました。誰かが私にそれを理解させることを願っています。

ありがとうございました。

+2

*なぜ*誰かがこのようなコードを書いていることを知りたいのであれば、それはデモンストレーション目的のためだと思います。このような条件は明らかに必要ありません。 –

+0

はい、まさにデモ目的です。私が言ったように、私はPythonを学んでいます。基本的なドキュメントを参照してください。 – Dharmit

答えて

5

0ブールコンテキストでFalseあるPythonで「偽」(および他の多くのプログラミング言語)として解釈されます。ブール演算のコンテキストで

、および式が制御フロー文で使用されている場合にも、以下の値がfalseと解釈されます。同じことがpython docs等から

空の文字列、リスト、に適用されます。 False、None、すべての型の数値ゼロ、空の文字列とコンテナ(文字列、タプル、リスト、辞書、セット、フーチェンセットなど)その他の値はすべてtrueと解釈されます。 (これを変更する方法については、__nonzero__()特別な方法を参照してください。)

4

ゼロが

1

0は偽です。論理的にも論理的にも、それ以外の場合でもほぼすべて

あなたは何について混乱していますか?

+0

@Downvoter:-1の理由は何ですか? – Falmarri

1

、ほぼ0でないものはTrueです。任意の数(ネガを含む)はTrueとして扱われますが、「None」はFalseです。空でない文字列はTrue、空の文字列はFalseです。

Pythonの論理関数または論理関数をドキュメントでチェックしてください。また、いくつかの言語とは異なり、他の場所で述べたように理にかなって正直

>>> 1 and 1 
1 

>>> 2 and 2 
2 

、...

1

....ので、あなたが今まで学校で基本的な数学(S)で学んだすべてのものを、忘れて(しかし、のようなPythonは0をfalseと解釈し、thenはelseを有効にします。 thenセクションを実行するには、代わりにif 1:(または別の非ゼロ値)のような何かをしなければなりません。実生活でこれをコードしないでください。詳細については、if(およびanother)とbooleansのPythonドキュメントを参照してください。

関連する問題