- 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.