还是先来抄一段NLP第四条: 四,只有感官经验塑造出来的世界,没有绝对的真实世界   每个人运用自己的感觉器官把资料摄入(摄入过程),由于感官运用是主观地有选择性的,因此不能,亦不需要把所有资料捕获. 摄入的资料经由我们的信念,价值观和规条过滤而决议其意义,亦因此能存储在脑中(编码过程) .我们的信念,价值观和规条是主观形成的,故此,过滤出来的意义也是主观的. 我们每一个人的世界,都是用上述的方式一点一滴地塑造出来的,亦因此是主观的. 我们只能用这种方式建立对这个世界的认知,没有其他办法. 因此…
第一步 : 了解装饰器 装饰器模式,重点在于装饰,装饰的核心仍是被装饰的对象. 举一个栗子:我今天穿了一件短袖,但是突然一阵风,短袖没办法为我御寒,我想到的办法是将短袖变得更厚更长,但是改造之后,它就不是一件真正的短袖了. 于是有了长袖的诞生,将长袖套在短袖外面,既可挡风又可御寒,妈妈再也不用担心我感冒了.短袖是短袖,长袖是长袖,相互独立. 装饰器就像我们的长袖,在不影响短袖改造的情况下,达到了挡风御寒的效果. 装饰器的应用场景:插入日志.性能测试.事务处理.缓存等. 第二步 : 定义一个基础函…
[引子] 之前写过一篇文章用来讲解装饰器(https://www.cnblogs.com/JiangLe/p/9309330.html) .那篇文章的定位是入门级的 所以也就没有讲过多的高级主题,决定在这里讲一下如果为装饰器传递参数 [目标] 我们有两个函数“add_fun”.“add” 其中“add_fun”已经过时.如果用户有调用这个函数的话就提示它“add_fun”已经过时并且引导 它去调用“add”函数 [add\add_fun函数的定义] def add_fun(x,y): "&quo…
1.迭代器 迭代器有两个基本方法,iter()和next(),next()完成后会引发StopIteration异常 a='abcdef' b=iter(a) #创建迭代器对象 print(type(b)) while True: try: print(next(b)) except StopIteration: break 输出结果: 2.生成器 生成器就是含有yield关键字的函数,是一种用普通语法定义的迭代器. def gen(): yield 'a' yield 'b' yield 'c…
装饰器是十二分重要的高级函数. 参考博客:装饰器 所需前提知识: 1.作用域: LEGB 2.高阶函数 高阶函数是至少满足下列一个条件的函数: 1)接受一个或多个函数作为输入 2)输出一个函数 注意理解: 函数名可以进行赋值 函数名是一个变量,可以作为函数参数以及返回值 函数和我们之前的[1,2,3],'abc',8等一样都是对象,而且函数是最高级的对象(对象是类的实例化,可以调用相应的方法,函数是包含变量对象的对象,牛逼!). 3.函数的嵌套以及闭包 Python允许创建嵌套函数.通过在函数内…
# 装饰器# 特征: 是用一个@开头的字符串# 装饰器通常用来装饰函数.或者类的方法# 被装饰后的函数,通常是在原有的函数基础上,会多出增加一点功能# 一般来说装饰器本身也是一个函数## def test(name):#           def test_in():#                  print(name)#           return test_in## func = test('peiyanan')# func() '''逻辑思想:①首先把peiyanan实参传递…
闭包函数 1.闭:定义在函数内部的函数 2.包:内部函数引用了外部函数作用域的名字 在函数编程中经常用到闭包.闭包是什么,它是怎么产生的及用来解决什么问题呢.给出字面的定义先:闭包是由函数及其相关的引用环境组合而成的实体(即:闭包=函数+引用环境)(想想Erlang的外层函数传入一个参数a, 内层函数依旧传入一个参数b, 内层函数使用a和b, 最后返回内层函数).这个从字面上很难理解,特别对于一直使用命令式语言进行编程的程序员们.本文将结合实例代码进行解释.函数是什么都知道:函数只是一段可执行代…
1 types.MethodType的作用—添加实例方法 import types class cla(object): def __init__(self, name, age): self.name = name self.age = age def prii(self): print("pri") def f1(self): print("f1") c = cla("zhangsan", 40) c.prii() c.f1=types.Me…
类装饰器装饰类方法 不带参数 from functools import wraps import types class CatchException: def __init__(self,origin_func): wraps(origin_func)(self) def __get__(self, instance, cls): if instance is None: return self else: return types.MethodType(self, instance) #在…
""" 今日内容: 1.函数的嵌套定义及必包 2.global 与 nonlocal 关键字 3.开放封闭原则及装饰器 """ """ 一.函数的嵌套定义及闭包 -- 在一个函数中定义另一个函数的过程叫做函数的嵌套定义 -- 为什么要使用函数的嵌套定义? -- 在一个函数中要是用另一个函数中的变量,就在原函数中嵌套定义这个新函数 -- 但是嵌套定义后函数内部的函数就只能在函数的原函数的内部使用,在函数外部不能直接访问…