while-used / W0149#
Message emitted:
Used while loop
Description:
Unbounded `while` loops can often be rewritten as bounded `for` loops. Exceptions can be made for cases such as event loops, listeners, etc.
Problematic code:
import requests
def fetch_data():
i = 1
while i < 6: # [while-used]
print(f'Attempt {i}...')
try:
return requests.get('https://example.com/data')
except requests.exceptions.RequestException:
pass
i += 1
Correct code:
import requests
def fetch_data():
for i in range(1, 6):
print(f'Attempt {i}...')
try:
return requests.get('https://example.com/data')
except requests.exceptions.RequestException:
pass
Related links:
Note
- This message is emitted by the optional 'while_used'
checker which requires the
pylint.extensions.while_used
plugin to be loaded.
Created by the while_used checker.