摘要:
该方法的功能类似于在类中重载 () 运算符,使得类实例对象可以像调用普通函数那样,以“对象名()”的形式使用。 举个例子: 程序执行结果为: 调用__call__()方法 C语言中文网 http://c.biancheng.net 可以看到,通过在 CLanguage 类中实现 __call__() 阅读全文
摘要:
当一个类实例化时(创建一个对象)执行type的__call__方法,__call__方法的返回值就是实例化的对象 __call__内部调用 -类.__new__方法,创建一个对象 -类.__init__方法,初始化对象 实例化对象是谁取决于__new__方法,__new__返回什么就是什么 __ne 阅读全文
摘要:
上下文管理器 操作文本对象的时候,几乎所有的人都会让我们要用 with open ,这就是一个上下文管理的例子。 基本语法 什么是上下文管理器 简单点说,就是在一个类里,实现了__enter__和__exit__的方法,这个类的实例就是一个上下文管理器。 将资源的连接或者获取放在__enter__中 阅读全文
摘要:
装饰器 对方法进行装饰,加强版的foo,最后取值取的是装饰后,装饰器里返回的值 先执行装饰器里的函数, 在调用inner的时候,调用func()才会触发原函数的操作,实际最后返回的是装饰器里内函数最后返回的值 参数化装饰器 register = set() def dec(active=True): 阅读全文
摘要:
闭包条件 1 在一个外函数中定义了一个内函数。 2 内函数里运用了外函数的临时变量。 3 并且外函数的返回值是内函数的引用。 一般情况下,如果一个函数结束,函数的内部所有东西都会释放掉,还给内存,局部变量都会消失。 但是闭包是一种特殊情况,如果外函数在结束的时候发现有自己的临时变量将来会在内部函数中 阅读全文
摘要:
纯函数 一个函数的返回结果只依赖于他的参数,并且只执行过程里面没有副作用,我们就把这个函数叫做纯函数 即函数不读取/修改外部变量,全局变量。 3个原则 变量都只在函数作用域内获取,作为函数的参数传入 不会产生副作用,不会改变被传入的数据或者其他数据(全局变量) 相同的输入保证相同的输出 副作用是指函 阅读全文
摘要:
lambda表达式 阅读全文
摘要:
斐波那契数列 阅读全文
摘要:
递归思想 阅读全文
摘要:
列表,字典推导式 阅读全文