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

code

"""
@Author : 行初心
@Date : 2019/7/6
@Blog : www.cnblogs.com/xingchuxin
@Gitee : gitee.com/zhichengjiu
""" def yield_test():
# next() 遇到yield会停止,保存数据并返回后面的数值
a = 1
send_value = yield a
print(send_value) a += 1
send_value = yield a
print(send_value) a += 1
send_value = yield a
print(send_value) a += 1
send_value = yield a
print(send_value) a += 1
send_value = yield a
print(send_value) def main():
generator = yield_test() # print后面的 \n 可加的有意义
# 想理解好 send 的功能,建议使用 Debug - Step Into(F7)。一步一步地跟下来
print(generator.__next__(), "\n") # send(None) <-> __next__()
print(generator.send(None), "\n")
print(generator.__next__(), "\n") # 主要看,send 传值啦
print(generator.send("pythoneer"), "\n")
print(generator.send("hello world"), "\n") if __name__ == '__main__':
main()

result

/home/coder/anaconda3/envs/py37/bin/python /home/coder/PycharmProjects/NumericalComputation/demo.py
1 None
2 None
3 pythoneer
4 hello world
5 Process finished with exit code 0

source_code

class Generator(Iterator[_T_co], Generic[_T_co, _T_contra, _V_co]):
@abstractmethod
def __next__(self) -> _T_co: ... @abstractmethod
def send(self, value: _T_contra) -> _T_co: ... @abstractmethod
def throw(self, typ: Type[BaseException], val: Optional[BaseException] = ...,
tb: Optional[TracebackType] = ...) -> _T_co: ... @abstractmethod
def close(self) -> None: ... @abstractmethod
def __iter__(self) -> Generator[_T_co, _T_contra, _V_co]: ... @property
def gi_code(self) -> CodeType: ...
@property
def gi_frame(self) -> FrameType: ...
@property
def gi_running(self) -> bool: ...
@property
def gi_yieldfrom(self) -> Optional[Generator]: ...

resource

  • [文档 - English] docs.python.org/3
  • [文档 - 中文] docs.python.org/zh-cn/3
  • [规范] www.python.org/dev/peps/pep-0008
  • [规范] zh-google-styleguide.readthedocs.io/en/latest/google-python-styleguide/python_language_rules
  • [源码] www.python.org/downloads/source
  • [ PEP ] www.python.org/dev/peps
  • [平台] www.cnblogs.com
  • [平台] gitee.com


Python具有开源、跨平台、解释型、交互式等特性,值得学习。

Python的设计哲学:优雅,明确,简单。提倡用一种方法,最好是只有一种方法来做一件事。

代码的书写要遵守规范,这样有助于沟通和理解。

每种语言都有独特的思想,初学者需要转变思维、踏实践行、坚持积累。

最新文章

  1. 如何写出高质量的技术博客 这边文章出自http://www.jianshu.com/p/ae9ab21a5730 觉得不错直接拿过来了 好东西要大家分享嘛
  2. sphinx教程
  3. Linq_Lambda GroupBy使用笔记
  4. Google 面试题:Java实现用最大堆和最小堆查找中位数 Find median with min heap and max heap in Java
  5. 将HTML特殊转义为实体字符的两种实现方式
  6. MS CRM 2011的自定义和开发(11)——插件(plugin)开发(三)
  7. ssh-keygen -t rsa -f cloud.key ssh -i cloud.key &lt;username&gt;@&lt;instance_ip&gt;
  8. uva216 c++回溯法
  9. H5小内容(六)
  10. 在LaTeX里插入全页的pdf 分类: LaTex 2015-02-04 17:20 142人阅读 评论(0) 收藏
  11. 如何获取启动文件路径 GetModuleFileName
  12. Appium介绍
  13. kindeditor集成ckplayer(带右键编辑菜单)
  14. Angular记录(1)
  15. 复制虚拟机vmware centos搭建集群节点过程中网络配置eth0和eth1遇到的问题以及NAT模式下虚拟机静态IP配置方法
  16. spring学习总结——装配Bean学习一(自动装配)
  17. ES--05
  18. yii2项目中运行composer 过程中遇到的问题
  19. (Unity4.7)assetbundle 坑爹总结
  20. SAP transportation

热门文章

  1. mysql多实例启动过程
  2. Python爬取mn52网站美女图片以及图片防盗链的解决方法
  3. 逆向破解之160个CrackMe —— 008-009
  4. 用Queue控制python多线程并发数量
  5. SparkSQL-通过JDBC读写mysql数据库
  6. 【转】分布式事务,EventBus 解决方案:CAP【中文文档】
  7. AtCoder Beginner Contest 127 解题报告
  8. Otsu 类间方差法
  9. (尚021)Vue_eslint编码规范检查
  10. windbg在加载模块时下断点