Estou com dificuldade pra entender essa parte do código do artigo: https://www.alura.com.br/artigos/o-que-sao-iteradores-no-python
class IteradorHttp():
def __init__(self):
self.registro = open(‘acessos.log’, ‘r’)
self.linha_atual = ''
def __iter__(self):
return self
def __next__(self):
self.linha_atual = self.registro.readline()
while self.linha_atual and not self.linha_atual.startswith(‘http://’):
self.linha_atual = self.registro.readline()
if self.linha_atual:
return self.linha_atual
raise StopIteration
iterador = IteradorHttp()
for url in iterador:
print(url)
A minha dúvida está a partir do laço while não estou conseguindo compreender esse laço, o que ele quer dizer:
"se a linha atual e ela não começar com 'http://'"?
Se alguem puder traduzir pro português o que o código quer dizer a partir do laço, ficarei agradecido haha.
Outra dúvida é pq o if não tem uma codição, só o "if self.linha_atual". Ele quer verificar se retorna True? Se é uma linha com algo pra ser impresso?