Python 系统教程
Python3 菜鸟教程
廖雪峰 Python3 教程
Python 编程时光
Python 函数传参
Python 变量
Python 就是这样设计的,它认为在函数体中,如果对变量有赋值操作,则证明这个变量是一个局部变量,并且它只会从局部变量中去读取数据。
Python不用声明变量吗?
Python 函数/方法
Python 中的 classmethod 和 staticmethod 有什么具体用途?
Python 实例方法、类方法、静态方法的区别与作用
Python函数接口的一些设计心得
Python 闭包
闭包(closure)是函数式编程的重要的语法结构。闭包也是一种组织代码的结构,它同样提高了代码的可重复使用性。
定义:
在计算机科学中,闭包(Closure)是词法闭包(Lexical Closure)的简称,是引用了自由变量的函数。这个被引用的自由变量将和这个函数一同存在,即使已经离开了创造它的环境也不例外。所以,有另一种说法认为闭包是由函数和与其相关的引用环境组合而成的实体。
特点:
1. 必须有一个内嵌函数
2. 内嵌函数必须引用外部函数中的变量
3. 外部函数的返回值必须是内嵌函数。
注意: 通过nonlocal解决局部变量赋值问题
应用:
Python 装饰器
定义:
装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象。
应用场景:
它经常用于有切面需求的场景,比如:插入日志、性能测试、事务处理、缓存、权限校验等场景。装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量与函数功能本身无关的雷同代码并继续重用。概括的讲,装饰器的作用就是为已经存在的对象添加额外的功能。
实例:loguru + 反射 + 偏函数 + 装饰器 + 异常捕获(传参) + 运行时间
注意:
被装饰后的函数其实已经是另外一个函数了,Python的functools包中提供了一个叫wraps的decorator来消除这样的副作用,来保证被装饰器装饰后的函数还拥有原来的属性,functools.wraps通过partial以及update_wrapper来实现。functools.partial 偏函数,常用于修改源码函数默认值。
多个解释器执行顺序:
解释器执行顺序
一篇文章搞懂装饰器所有用法
Python 装饰器装饰类中的方法
带可选参数的装饰器
没看完这11 条,别说你精通 Python 装饰器
Python 猴子补丁(Monkey Patch)
猴子补丁(Monkey Patch)就是在运行过程中动态修改一个类的方法或变量等
- 在运行时替换方法、属性等
- 在不修改第三方代码的情况下增加原来不支持的功能
- 在运行时为内存中的对象增加patch而不是在磁盘的源代码中增加
python面试题精讲——monkey patch(猴子补丁)
Python 继承
Python 断言
Python 异常处理的哲学
Python 工匠: 异常处理的三个好习惯
python异常处理的哲学
raise是更好的return
Python 上下文管理器
深刻理解上下文管理器
深入理解 Python 中的上下文管理器
Python进阶:With语句和上下文管理器ContextManager
Python中的上下文管理器和装饰器之间的区别
网友评论