摘要: 生成器初识 什么是生成器 生成器本身属于迭代器。继承了迭代器的特性,惰性求值,占用内存空间极小。 为什么要有生成器 我们想使用迭代器本身惰性求值的特点创建出一个可以容纳百万级别的迭代器。(节省内存)又不想通过调用可迭代对象下的__iter__方法来创建这样的迭代器。(未经过优化的可迭代对象本身就占据 阅读全文
posted @ 2020-05-18 23:01 云崖先生 阅读(327) 评论(1) 推荐(1) 编辑
摘要: 迭代器协议 迭代器协议规定:对象内部必须提供一个__next__方法,对其执行该方法要么返回迭代器中的下一项(可以暂时理解为下一个元素),要么就引起一个Stopiteration异常以终止迭代。(当所有元素被取干净后其实内部就会自动触发Stopiteration) 可迭代对象是指对象内部必须提供一个 阅读全文
posted @ 2020-05-18 11:36 云崖先生 阅读(347) 评论(1) 推荐(1) 编辑
摘要: 开放封闭原则 一个良好的项目必定是遵守了开放封闭原则的,就比如一段好的Python代码必定是遵循PEP8规范一样。那么什么是开放封闭原则?具体表现在那些点? 开放封闭原则的核心的思想是软件实体是可扩展,而不可修改的。 也就是说,对扩展是开放的,而对修改是封闭的。 即使迫不得已要进行修改,也最好不要改 阅读全文
posted @ 2020-05-17 00:38 云崖先生 阅读(384) 评论(0) 推荐(1) 编辑
摘要: 函数对象 将函数看做一个对象可以做以下的事情: 1.可以赋值 2.可以把函数当做参数传入另一个函数 3.可以将内层函数当做外层函数的返回值 4.可以将函数当做容器类型中的一个元素 # 可以赋值 def func(): print("function func...") # func是指向的是一个函数 阅读全文
posted @ 2020-05-15 16:59 云崖先生 阅读(316) 评论(2) 推荐(1) 编辑
摘要: Python之禅 Python之禅中记录了我们使用Python时应该遵循的一些原则。在交互式环境下使用import this即可看到我们用Python编写代码时应当遵循的核心思想点。Python之禅并非Python的创始人所写,但是Tim Peters所总结的这十几条理念依然被Python官方所认可 阅读全文
posted @ 2020-05-14 16:31 云崖先生 阅读(365) 评论(0) 推荐(0) 编辑