मैं अजगर इटरेटर पर थोड़ा सा खो गया हूं। मैं कभी-कभी उनका उपयोग करता हूं, लेकिन मुझे खुद को बनाने की याद नहीं है। मैंने कहीं पढ़ा है कि मुझे याद नहीं है, जहां इस तरह की एक कोड:अगले() और __next __() के लिए पुनरावृत्ति वर्ग विधियां क्या हैं, और क्या अंतर है?
class Foo(object):
def __init__(self):
self.something = "initial_value"
def __iter__(self):
return self
def next(self):
# I don't quite remember what was here :S
return self.something
मुझे लगता है कि __iter__()
विधि पुनरावर्तक वापस जाने के लिए माना जाता है, और उस iterator एक अगली विधि अधिकार होना चाहिए? फिर __next__()
विधि के बारे में क्या? क्या यह __iter__()
विधि के साथ एक और इटरेटर लौटने के बिना सीधे कक्षा में फिर से चलने के लिए है?
** foo ** एक पुनरावर्तक है। इस मामले में यह बस खुद को लौटता है। एक वस्तु पुनरावृत्ति का समर्थन कर सकती है, लेकिन एक पुनरावर्तक नहीं हो सकती है। – Wes
धन्यवाद, कोड तय किया गया। – yasar