Формально True
- это встроенная константа Python типа bool .
Вы можете использовать логические операции для типов bool (например, в интерактивном окне python) и преобразовывать числа в типы bool:
>>> 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
На самом деле тип Python bool
является подклассом типа int
Python:
>>> type(True)
<type 'bool'>
>>> isinstance(True, int)
True
Более важной частью вашего вопроса является "Что такое while True
?" «Что есть истина» и важное следствие: что ложно?
Во-первых, для каждого изучаемого языка выучите, что он считает «правдивым» и «ложным». Python рассматривает Truth немного иначе, чем Perl Truth , например. В других языках немного другие понятия истина / ложь. Знайте, что ваш язык считает Истинным и Ложным для различных операций и управления потоком, чтобы избежать многих головных болей позже!
Существует множество алгоритмов, в которых вы хотите что-то обработать, пока не найдете то, что ищете. Отсюда бесконечный цикл или неопределенный цикл. Каждый язык, как правило, имеет свою идиому для этих конструкций. Вот общие бесконечные циклы C, которые также работают для Perl:
for(;;) { /* loop until break */ }
/* or */
while (1) {
return if (function(arg) > 3);
}
Форма while True:
распространена в Python для неопределенных циклов с некоторым выходом из цикла. Изучите Python управление потоком , чтобы понять, как вы выходите из while True
циклов. В отличие от большинства языков, например, Python может иметь в цикле предложение else
. В последней ссылке есть пример.