一 yield的表达式 以上将yield接受到的值赋值给了x,这样形式就叫做yield的表达式形式。 函数foo中有yield,那它就是迭代器。可以使用next()。yield可以返回结果,默认为None。 g.send()前生成器必须先next一次才能发送值。所以写一个装饰器,让foo自动next ...
分类:
其他好文 时间:
2017-06-20 16:20:28
阅读次数:
135
生成器表达式形式 直接上代码 输出结果 生成器的表达式形式,在每一个包含生成器表达式形式的函数写完后,都必须要执行第一次__next__方法初始化后(即传入一个的默认返回值None),才能够使用send()方法传入值,否则会抛出TypeError错误。 初始化装饰器:使用装饰器装饰的方法进行函数定义 ...
分类:
编程语言 时间:
2017-06-20 16:18:08
阅读次数:
217
一、设计模式的分类 整体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式。共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式。共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责 ...
分类:
其他好文 时间:
2017-06-20 09:47:53
阅读次数:
160
闭包函数:函数内部定义函数,成为内部函数。该内部函数包含对外部作用域,而不是对全局作用域名字的引用,那么该内部函数成为闭包函数。 闭包函数:1 内部函数 2 包含对外部作用域而非全局作用域的引用闭包函数的特点: 自带作用域 延迟计算 以上两个实例都是包一层,闭包函数可以包多层: 定义闭包函数的基本形 ...
分类:
其他好文 时间:
2017-06-20 00:24:12
阅读次数:
232
一、yield的表达形式 以上将yield接受到的值赋值给了x,这样形式就叫做yield的表达式形式。 函数foo中有yield,那它就是迭代器。可以使用next()。yield可以返回结果,默认为None。 g.send()前生成器必须先next一次才能发送值。所以写一个装饰器,让foo自动nex ...
分类:
其他好文 时间:
2017-06-20 00:23:10
阅读次数:
236
一、闭包函数 闭包函数:函数内部定义函数,成为内部函数。该内部函数包含对外部作用域,而不是对全局作用域名字的引用,那么该内部函数成为闭包函数。 闭包函数:1 内部函数 2 包含对外部作用域而非全局作用域的引用闭包函数的特点: 自带作用域 延迟计算 以上两个实例都是包一层,闭包函数可以包多层: 定义闭 ...
分类:
其他好文 时间:
2017-06-20 00:20:45
阅读次数:
184
一、什么是装饰器 二、装饰器遵循的原则 三、高阶函数 其、程序: work: #! /usr/bin/env python # -*- coding: utf-8 -*- # __author__ = "DaChao" # Date: 2017/6/14 import time import ran ...
分类:
其他好文 时间:
2017-06-20 00:14:40
阅读次数:
178
有参装饰器: @函数(参数) #模拟数据库认证功能 login_dic={ 'user':None, 'status':False, } db_path=r'F:/a.txt' def deco(auth_type='file'): #包了一个 auth_path 默认打开方式是file方式,可以通 ...
分类:
其他好文 时间:
2017-06-19 23:26:01
阅读次数:
244
1、写一个装饰器,实现缓存功能,允许过期,但没有换出,没有清除1)cache的必要元素:key-->value这里的key是函数的参数,value是函数的返回值2)超时时间超时时间如何存储步骤1:In[28]:fromfunctoolsimportwraps
In[29]:defcache(fn):
...:cache_dict={}
...:@wraps
.....
分类:
其他好文 时间:
2017-06-19 22:02:35
阅读次数:
101
#-*- coding:utf-8 -*- static = False def login(func): #这里func,用来把被修饰的函数名以参数传可以入进来,然后 #就可以在装饰器函数中的任意位置进行调用被装饰的函数,就是18line def inner(): name_ = 'chenna'... ...
分类:
其他好文 时间:
2017-06-19 22:00:08
阅读次数:
111