Existe uma expressão geradora direta que pode produzir elementos infinitos?
Esta é uma questão puramente teórica. Não há necessidade de uma resposta "prática" aqui :)
Por exemplo, é fácil fazer um gerador finito:
my_gen = (0 for i in xrange(42))
No entanto, para fazer um infinito, preciso "poluir" meu namespace com uma função falsa:
def _my_gen():
while True:
yield 0
my_gen = _my_gen()
Fazer as coisas em um arquivo separado e fazer importmais tarde não conta.
Eu também sei que itertools.repeatfaz exatamente isso. Estou curioso para saber se existe uma solução de uma linha sem isso.
del _my_gense não quiser confundir os dois
my_gene depois fazermy_gen = my_gen().