正式にTrueは、bool型のPython組み込み定数です。
ブール型に対してブール演算を使用して(たとえば、インタラクティブなPythonプロンプトで)、数値をブール型に変換できます。
>>> print not True
False
>>> print not False
True
>>> print True or False
True
>>> print True and False
False
>>> a=bool(9)
>>> print a
True
>>> b=bool(0)
>>> print b
False
>>> b=bool(0.000000000000000000000000000000000001)
>>> print b
True
そして、あなたが見ているものとPythonコンパイラが見ているものには潜在的に「落とし穴」があります。
>>> n=0
>>> print bool(n)
False
>>> n='0'
>>> print bool(n)
True
>>> n=0.0
>>> print bool(n)
False
>>> n="0.0"
>>> print bool(n)
True
Pythonがbool型を内部的に格納する方法のヒントとして、bool型を整数にキャストすると、Trueは1、Falseは0になります。
>>> print True+0
1
>>> print True+1
2
>>> print False+0
0
>>> print False+1
1
実際、PythonboolタイプはPythonのintタイプのサブクラスです。
>>> type(True)
<type 'bool'>
>>> isinstance(True, int)
True
あなたの質問のより重要な部分は「何while Trueですか?」です。「真とは何か」であり、重要な結果:偽とは何ですか?
まず、学習しているすべての言語について、その言語が「真実」および「偽」と見なすものを学びます。Pythonは考えて真実を少し異なるよりもPerlの真実例えば。他の言語では、true / falseの概念が少し異なります。後で多くの頭痛の種を避けるために、さまざまな操作とフロー制御について、言語がTrueとFalseと見なすものを理解してください。
探しているものが見つかるまで何かを処理したいアルゴリズムはたくさんあります。したがって、無限ループまたは不定ループ。各言語は、これらの構成要素に対して独自のイディオムを持っている傾向があります。以下は、Perlでも機能する一般的なC無限ループです。
for(;;) { /* loop until break */ }
/* or */
while (1) {
return if (function(arg) > 3);
}
このwhile True:形式は、Pythonで不定ループの場合に一般的であり、ループから抜け出す方法があります。Pythonフロー制御を学び、while Trueループから抜け出す方法を理解します。たとえば、ほとんどの言語とは異なり、Pythonはelseループに句を含めることができます。最後のリンクに例があります。