Что такое итераторы/генераторы/генераторные выражения, чем они отличаются и когда и как все это нужно использовать.
Ответ
Здесь важно, чтобы кандидат понимал различие и мог с той или иной степенью погружения рассказать про эти различия. Если кратко, то итератор в Python – это любой объект, который использует метод next() для получения следующего значения последовательности. Генератор – функция, которая производит или выдает последовательность значений с использованием метода yield. Концептуально, итератор — это механизм поэлементного обхода данных, а генератор позволяет отложено создавать результат при итерации. Генератор может создавать результат на основе какого-то алгоритма или брать элементы из источника данных (коллекция, файлы, сетевое подключения и др.) и изменять их.
Подробности доступны в очень большом количестве статей с той или иной степенью погружения в детали, например, здесь.
#junior
@python_job_interview
Ответ
Здесь важно, чтобы кандидат понимал различие и мог с той или иной степенью погружения рассказать про эти различия. Если кратко, то итератор в Python – это любой объект, который использует метод next() для получения следующего значения последовательности. Генератор – функция, которая производит или выдает последовательность значений с использованием метода yield. Концептуально, итератор — это механизм поэлементного обхода данных, а генератор позволяет отложено создавать результат при итерации. Генератор может создавать результат на основе какого-то алгоритма или брать элементы из источника данных (коллекция, файлы, сетевое подключения и др.) и изменять их.
Подробности доступны в очень большом количестве статей с той или иной степенью погружения в детали, например, здесь.
#junior
@python_job_interview
👍18🔥4❤1
Условие:
Найти «счастливый» ip. Он считается счастливым, если сумма двух байтов с левой стороны равняются сумме двух байтов с правой стороны.
На вход функции всегда идёт строка с ipv4 адресом.
Пример:
is_happy_ip("255.255.255.255") -> True
is_happy_ip("0.0.0.1") -> False
is_happy_ip("101.78.170.9") -> True
P.S. 1 байт - число от 0 до 255
Делитесь своим решением в комментариях👇
def is_happy_ip(ip: str) -> bool:
g = ip.split('.')
return int(g[0])+int(g[1]) == int(g[2])+int(g[3])
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥9❤2