tgoop.com/BookPython/3314
Create:
Last Update:
Last Update:
Блок else
для выражений for
и try
используется довольно редко. Однако, комбинируя их вместе, можно написать код, который выполняет итерацию по коллекции до первого успешного результата без использования дополнительных флагов.
import logging
from typing import List, Optional
logging.basicConfig(level=logging.DEBUG)
def first_int(iterable: List[str]) -> Optional[int]:
for x in iterable:
try:
result = int(x)
except ValueError:
logging.debug('Bad int: %s', x)
else:
break
else:
result = None
logging.error('No int found')
return result
print(first_int(('a', 'b', '42', 'c')))
Вывод:
DEBUG:root:Bad int: a
DEBUG:root:Bad int: b
42
👉@BookPython
BY Библиотека Python разработчика | Книги по питону
Share with your friend now:
tgoop.com/BookPython/3314