Я искал код для вращения курсора в терминале и нашел это. Мне было интересно, что происходит в коде. В частности, for c in spinning_cursor():
я никогда не видел этот синтаксис. Это потому, что я возвращаю один элемент из генератора за раз с yield
, и ему присваивается c? Любые другие примеры этого для x в y() используют?
import sys
import time
def spinning_cursor():
cursor='/-\|'
i = 0
while 1:
yield cursor[i]
i = (i + 1) % len(cursor)
for c in spinning_cursor():
sys.stdout.write(c)
sys.stdout.flush()
time.sleep(0.1)
sys.stdout.write('\b')