[00402] 에이전트 교체

대리 교체


문제 해결


목록, 모듈, 또는 다른 교체 가능한 대상을 포함하는 사용자 정의 용기 대상을 구축했습니다.새 용기 대상에서 직접 교체 작업을 실행하고 싶습니다.

2. 해결 방안

> __iter__()  

3. 코드 설명

#!/usr/bin/env python

class Node:
    def __init__(self, value):
        self._value = value
        self._children = []

    def __repr__(self):
        return "Node({!r})".format(self._value)

    def add_child(self, node):
        self._children.append(node)

    def __iter__(self):
        return iter(self._children)

if __name__ == "__main__":
    root = Node(0)
    c1 = Node(1)
    c2 = Node(2)
    root.add_child(c1)
    root.add_child(c2)

    for ch in root:
        print (ch)

4. 관련 지식


다섯째, 총결산

1. Python  __iter__()  __next__()  。

2. iter()  ,iter(s)  s.__iter__()  

6. 코드 주소


github 주소:https://github.com/weichen666/python_cookbook디렉토리/파일:fourthselection/learn_iter_iter.py

7. 참고

좋은 웹페이지 즐겨찾기