>>> def count_binary(): ... yield "1" ... for prefix in count_binary(): ... yield prefix + "0" ... yield prefix + "1" ... >>> cb = count_binary() >>> next(cb) '1' >>> next(cb) '10' >>> next(cb) '11' >>> next(cb) '101'