#pythonè¿ä»£å¨ç设计 å¦æä½ æè§é»å¥çæç« å¯¹ä½ æå¸®å©è¯·æèµï¼æ¯ä»å®è´¦å·ï¼[email protected] ##è·é»å¥å¦pythonç¼ç¨ç³»åæç« ä¹è¿ä»£å¨ ###å¦ä½èªå®ä¹è¿ä»£å¨ï¼æ2ä¸ªå¿ è¦æ¡ä»¶ 1ãèªå®ä¹ç±»æä¸ä¸ªæ¹æ³\_\_iter\_\_è¿åå®ä¾å¯¹è±¡èªå·±ï¼_\_iter\_\_ ä¸è¬åªéè¦return self æ¢å¯ã 2ãænext()æ¹æ³ï¼python3 æ¯\_\_next\__()æ¹æ³ã ###python 3代ç å®ä¾ ``` class Reverse: """å转çè¿ä»£å¨ åå é»å¥pythonè¿ç¨è§é¢å¹è®,å¸®ä½ å®æä»ä¸ä¼å代ç å°ä¼å代ç è§£å³é®é¢çè¿æ¸¡ã pythonè¿ç¨è§é¢å¹è® https://github.com/pythonpeixun/article/blob/master/index.md pythonåäº¬å¨æ«å¹è®ç https://github.com/pythonpeixun/article/blob/master/beijing_weekend.md å¨è¯¢:qq:1465376564 ä¼ä¸å è®ï¼ä¸ªäººå¹è®ï¼è¯·å¨è¯¢é»å¥çµè¯:18610508486 """ def __init__(self, data): self.data = data self.index = len(data) def __iter__(self): return self def __next__(self): if self.index == 0: raise StopIteration self.index = self.index - 1 return self.data[self.index] foo = Reverse(range(10)) print(foo) #<__main__.Reverse object at 0x101207400> for i in foo: print(i, end=",") #è¾åºç»æ9,8,7,6,5,4,3,2,1,0, ```