Python3 base value generator yield next acquisition of birth

  •        Python : 3.7.3
  •          OS: Ubuntu 18.04.2 LTS
  •         IDE : pycharm-community-2019.1.3
  •       Conda: 4.7.5
  •    typesetting : Markdown

code

coder@ubuntu:~$ source activate py37
(py37) coder@ubuntu:~$ ipython
Python 3.7.3 (default, Mar 27 2019, 22:11:17) 
Type 'copyright', 'credits' or 'license' for more information
IPython 7.5.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: a = (2 * x + 1 for x in (1, 2, 3, 4))  # 生成器。用一个生成一个,省内存空间                 

In [2]: next(a)                                                                                     
Out[2]: 3

In [3]: next(a)                                                                                     
Out[3]: 5

In [4]: next(a)                                                                                     
Out[4]: 7

In [5]: next(a)                                                                                     
Out[5]: 9

In [6]: next(a)                                                                                     
---------------------------------------------------------------------------
StopIteration                             Traceback (most recent call last)
<ipython-input-6-15841f3f11d4> in <module>
----> 1 next(a)

StopIteration: 

In [7]: # 超过迭代范围,抛出异常                                                                     

In [8]: exit                                                                                        
(py37) coder@ubuntu:~$ conda deactivate
coder@ubuntu:~$ 

source_code

class StopIteration(Exception):
    """ Signal the end from iterator.__next__(). """
    def __init__(self, *args, **kwargs): # real signature unknown
        pass

    value = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
    """generator return value"""

resource

  • [Documents - English] docs.python.org/3
  • [Documentation - Chinese] docs.python.org/zh-cn/3
  • [Specification] www.python.org/dev/peps/pep-0008
  • [Specification] zh-google-styleguide.readthedocs.io/en/latest/google-python-styleguide/python_language_rules
  • [Source] www.python.org/downloads/source
  • [ PEP ] www.python.org/dev/peps
  • [Platform] www.cnblogs.com
  • [Platform] gitee.com


Python has an open source, cross-platform, interpreted, interactive and other characteristics, it is worth learning.
Python's design philosophy: elegant, clear and simple. Promote the use of a method, the best is only one way to do a thing.
Writing code to comply with norms, which helps communication and understanding.
Each language has unique ideas, beginners need to change the thinking, pragmatic practice, adhere to accumulate.

Guess you like

Origin www.cnblogs.com/xingchuxin/p/11142676.html