摘要: #-*-encoding:utf-8 -*-#!/usr/bin/env python#面试题1#一个生成器只能取一次#生成器表达式,同样不会执行,只是返回了一个生成器,# 生成器的话,你需要跟他要值,他才给。要一个给一个,给完了,他就没有了。或者一下子要过来,他就变空了。# def demo(): 阅读全文
posted @ 2018-04-28 10:53 非非不可 阅读(111) 评论(0) 推荐(0)
摘要: #-*- encoding:utf-8 -*-#为了节省空间等原因,自己实现的能实现生成器功能的就叫生成器#生成器函数:常规函数定义,但是,使用yield语句而不是return语句返回结果。# yield语句一次返回一个结果,在每个结果中间,挂起函数的状态,以便下次重它离开的地方继续执行#生成器表达 阅读全文
posted @ 2018-04-28 10:52 非非不可 阅读(118) 评论(0) 推荐(0)
摘要: #yield from# def gene():# for i in range(5):# y=yield i# # print(y)# for j in 'hello':# yield j# g=gene()#取值方法有三种# 1.next()或者send(),随时可以停止,但是最后一次会报错# 阅读全文
posted @ 2018-04-28 10:52 非非不可 阅读(122) 评论(0) 推荐(0)
摘要: #我们知道的迭代器有两种:一种是调用方法直接返回的,# 一种是可迭代对象通过执行iter方法得到的,#迭代器有的好处是可以节省内存。# for i in [1234]:# print(i)#校验是否可迭代,能被for循环的就是可迭代的# from collections import Iterabl 阅读全文
posted @ 2018-04-28 10:51 非非不可 阅读(98) 评论(0) 推荐(0)
摘要: 装饰器的主要功能: 在不改变函数调用方式的基础上在函数的前、后添加功能。 装饰器的固定格式: 带参数的装饰器: 假如你有成千上万个函数使用了一个装饰器,现在你想把这些装饰器都取消掉,你要怎么做? 一个一个的取消掉? 没日没夜忙活3天。。。 过两天你领导想通了,再让你加上。。。 多个装饰器装饰同一个函 阅读全文
posted @ 2018-04-28 10:50 非非不可 阅读(83) 评论(0) 推荐(0)
摘要: 命名空间与作用域 命名空间 命名空间的本质:存放名字与值的绑定关系 命名空间一共分为三种: 全局命名空间 局部命名空间 内置命名空间 *内置命名空间中存放了python解释器为我们提供的名字:input,print,str,list,tuple...,可以直接使用 三种命名空间之间的加载与取值顺序: 阅读全文
posted @ 2018-04-28 10:47 非非不可 阅读(117) 评论(0) 推荐(0)