#### Preface

Learning records of a course , It's more simple

### iterator

It's a special kind of traversable object , Special lies in

The elements in the iterator can be traversed once

What are the benefits ？ The course says

The elements of the iterator are computed ( adopt __next__() Method ) Of , Not always in memory

Turn a traversable object into an iterator

iter Method ,python Built in .
next Method , Get the value of the next element

If you need to implement an iterator class, you need to implement the above two methods （ There's a front and back underline ）.

### generator

It's a more advanced iterator .

The difference between the two ：

• It's created differently （ How different , I didn't check
• A generator is an iterator , The former is the evolution of the latter
• Generators have some special methods that iterators don't have （ What are the details , I didn't check

How it was created ：

• Generator Expressions ： Generator expressions are characterized by the use of parentheses , This is the only difference between it and list parsing , The latter uses brackets .
#g It's a generator
g = (x**x for x in range(1, 4))
• Use Python keyword yield Functions written , It's called generator function , The return value of the function is the generator
def fib(n):
current = 0
a = b = 1
while current < n:
yield a
a, b = b, a + b
current += 1
• The function above fib Used yield keyword , So it's the generator function ,fib(5) The return value of is a generator
• yield How to use and return similar , They can only appear inside functions . The difference is ,return Can return valid Python object , and yield The return is a generator . Function encounters return I'm going straight back , And used yield Function of , To yield Returns an element , When you iterate the generator again , From yield Continue later , Until we meet the next one yield Or the function ends and exits .

#### Postscript

I feel that my own records of the later courses are a little less than my own thinking , Maybe it's all about applications , I just hope I can record some of my puzzles at that time , Make your records more valuable .