Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: utf8 -*-
def foo_yield():
for i in xrange(6):
yield i*2
def foo_liste():
return [i*2 for i in xrange(6)]
# Step 1
for i in foo_liste():
print i
# Step 2
for i in foo_yield():
print i
# Step 3
g = foo_yield()
g.send(None)
for i in g:
print i
g.close
ich habe 2 kurze Fragen :
1. Warum benötige ich bei der Funktion foo_yield() kein return mit einen Rückgabewert ?
2. Warum führt Step 2 zu einem anderen Ergebnis als bei Step 3 ?
-. Step 2: 0,2,4,6,8,10 und Step 3: 2,4,6,8,10 - wo ist die 0 geblieben ?