Использование бесконечного цикла while True может быть хорошей практикой в некоторых случаях, например:
- Когда нужно производить какие-то действия с интервалом. 3 Выход из цикла происходит только в том случае, когда внутри тела «зашито» условие выхода. 3 Пример: функция, которая возвращает соединение с базой данных. 3 Если связь с базой отсутствует, соединение будет пытаться установиться до тех пор, пока не установится. 3
- При написании полноценного демона, который продолжительное время висит как процесс в системе и периодически производит какие-то действия. 3 Остановкой цикла будет прерывание работы программы. 3 Пример: скрипт, который раз в 10 минут «пингует» IP-адреса и пишет в лог отчёт о доступности этих адресов. 3
Однако бесконечных циклов стараются избегать и используют их редко. 1 Такие циклы должны иметь механизм для выхода, чтобы избежать зависания программы. 2