簡略化した

while 1:
    yield
    #else節

で説明すれば、最初のnext()は「関数の最初から」「次に出くわすyieldまで」
を実行する。その間にelse節はないので実行されない。

二回目以降のnext()は「止まっているyield」から「次に出くわすyieldまで」
を実行する。yieldの後else節があるので、それを実行した後while 1で戻されて
yieldで止まる。つか、最初のnextが気に入らないなら無理にジェネレータを
使う必要ない希ガス。