zoukankan      html  css  js  c++  java
  • 【编程思想】【设计模式】【行为模式Behavioral】迭代器模式iterator

    Python版

    https://github.com/faif/python-patterns/blob/master/behavioral/iterator.py

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    
    """
    http://ginstrom.com/scribbles/2007/10/08/design-patterns-python-style/
    Implementation of the iterator pattern with a generator
    
    *TL;DR80
    Traverses a container and accesses the container's elements.
    """
    
    from __future__ import print_function
    
    
    def count_to(count):
        """Counts by word numbers, up to a maximum of five"""
        numbers = ["one", "two", "three", "four", "five"]
        for number in numbers[:count]:
            yield number
    
    # Test the generator
    count_to_two = lambda: count_to(2)
    count_to_five = lambda: count_to(5)
    
    print('Counting to two...')
    for number in count_to_two():
        print(number, end=' ')
    
    print()
    
    print('Counting to five...')
    for number in count_to_five():
        print(number, end=' ')
    
    print()
    
    ### OUTPUT ###
    # Counting to two...
    # one two
    # Counting to five...
    # one two three four five
    Python转载版
  • 相关阅读:
    Python Ethical Hacking
    Python Ethical Hacking
    Python Ethical Hacking
    Python Ethical Hacking
    Python Ethical Hacking
    Python Ethical Hacking
    Python Ethical Hacking
    Arctic Network POJ
    Truck History POJ
    QS Network ZOJ
  • 原文地址:https://www.cnblogs.com/demonzk/p/9035621.html
Copyright © 2011-2022 走看看