摘要: 满足迭代器协议: 1、内部要有next方法 2、内部有iter()方法 什么是迭代器协议 1.迭代器协议是指:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么就引起一个StopIteration异常,以终止迭代 (只能往后走不能往前退) 2.可迭代对象:实现了迭代器协议的对象(如 阅读全文
posted @ 2018-07-03 12:53 巨兽~墨菲特 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 结果: 编写一个生成验证码: 结果: 阅读全文
posted @ 2018-07-02 23:06 巨兽~墨菲特 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 很多同学都听说过,现代操作系统比如Mac OS X,UNIX,Linux,Windows等,都是支持“多任务”的操作系统。 什么叫“多任务”呢?简单地说,就是操作系统可以同时运行多个任务。打个比方,你一边在用浏览器上网,一边在听MP3,一边在用Word赶作业,这就是多任务,至少同时有3个任务正在运行 阅读全文
posted @ 2018-07-02 16:49 巨兽~墨菲特 阅读(122) 评论(0) 推荐(0) 编辑
摘要: can't send non-None value to a just-started generator 第一次调用生成器不会复制 结果: 出现报警现象是第一次调用就开始赋值: 结果: 阅读全文
posted @ 2018-07-02 15:52 巨兽~墨菲特 阅读(448) 评论(0) 推荐(0) 编辑
摘要: 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式。 举个例子,要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]可以用list(range(1, 11)): 但如果要生成[1x1, 2x2, 3x3, . 阅读全文
posted @ 2018-06-30 18:40 巨兽~墨菲特 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 结果: 以上两种decorator的定义都没有问题,但还差最后一步。因为我们讲了函数也是对象,它有__name__等属性,但你去看经过decorator装饰之后的函数,它们的__name__已经从原来的'now'变成了'wrapper': 因为返回的那个wrapper()函数名字就是'wrapper 阅读全文
posted @ 2018-06-30 17:56 巨兽~墨菲特 阅读(312) 评论(0) 推荐(0) 编辑
摘要: 匿名函数 当我们在传入函数时,有些时候,不需要显式地定义函数,直接传入匿名函数更方便。 在Python中,对匿名函数提供了有限支持。还是以map()函数为例,计算f(x)=x2时,除了定义一个f(x)的函数外,还可以直接传入匿名函数: 通过对比可以看出,匿名函数lambda x: x * x实际上就 阅读全文
posted @ 2018-06-30 17:18 巨兽~墨菲特 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 具备三个要素的项目,就是web项目 1、浏览器 --向服务器阿奇请求,下载服务器中的网页(HTML),然后执行HTML显示出的内容。 2、服务器 --接收浏览器的请求,发送相应的页面到浏览器。 3、HTTP协议 --浏览器与服务器的通讯协议 XML 和 HTML 可扩展标签语言 标签,属性,标签的嵌 阅读全文
posted @ 2018-06-28 23:07 巨兽~墨菲特 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 作用域: L E G B 高阶函数 既然变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数。 闭包 如果在一个内部函数里,对在外部作用域(但不是在全局作用域)的变量进行引用,那么内部函数就被认为是闭包(closure)、 这是一种现象。 闭包= 阅读全文
posted @ 2018-06-26 17:27 巨兽~墨菲特 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 实现一个阶乘fact(): 结果: 实现一个阶乘fact(): 上面就是一个递归函数。 如果我们计算fact(5),可以根据函数定义看到计算过程如下: 递归函数的优点是定义简单,逻辑清晰。理论上,所有的递归函数都可以写成循环的方式,但循环的逻辑不如递归清晰。 使用递归函数需要注意防止栈溢出。在计算机 阅读全文
posted @ 2018-06-26 09:28 巨兽~墨菲特 阅读(204) 评论(0) 推荐(0) 编辑