Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
ich habe mir überlegt wie ich eine Funktion daraufhin testen kann, ob sie einen Generator zurückliefert.
Nun kam ich auf folgenden Code und wollte einfach nur mal fragen, ob das die beste Methode ist so etwas zu testen oder ob es irgendeine andere Möglichkeit gibt.
In [44]: iter = xrange(5)
In [45]: iter.next()
---------------------------------------------------------------------------
<type 'exceptions.AttributeError'> Traceback (most recent call last)
/home/leonidas/<ipython console> in <module>()
<type 'exceptions.AttributeError'>: 'xrange' object has no attribute 'next'
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Man sieht: ein xrange-objekt implementiert sowohl das traditionelle sequence-Protokoll, stellt aber auch __iter__ zur Verfügung, was ein "rangeiterator"-Objekt erstellt, das zum Iterieren verwendet wird.
In [9]: a = xrange(0, 10, 2)
In [10]: a.
a.__class__ a.__init__ a.__repr__
a.__delattr__ a.__iter__ a.__reversed__
a.__doc__ a.__len__ a.__setattr__
a.__getattribute__ a.__new__ a.__str__
a.__getitem__ a.__reduce__
a.__hash__ a.__reduce_ex__
In [10]: len(a)
Out[10]: 5
In [11]: a[0]
Out[11]: 0
In [12]: a[2]
Out[12]: 4
In [13]: a[100]
---------------------------------------------------------------------------
exceptions.IndexError Traceback (most recent call last)
/home/marc/<ipython console>
IndexError: xrange object index out of range