偏函数
固定函数的部分参数
>>> import functools
>>> int2 = functools.partial(int, base=2)
>>> int2('1000000')
64
>>> int2('1010101')
85
装饰器decorator
在代码运行期间动态增加功能的方式,称之为“装饰器”(Decorator)。本质上,decorator就是一个返回函数的高阶函数。decorator接受一个函数作为参数,并返回一个函数wrapper。
import functools
# 定义一个在调用函数前输出函数名的decorator
def log(func):
# 用来确保装饰后的函数名func_name.__name__不变,而不是变成'wrapper'
@functools.wraps(func)
def wrapper(*args, **kw):
print('call %s():' % func.__name__)
return func(*args, **kw)
return wrapper
@log
def now():
print('2015-3-25')
now()
# 输出
# call now():
# 2015-3-25
常用内置装饰器
@property装饰器负责把一个方法变成属性调用的
https://www.liaoxuefeng.com/wiki/897692888725344/923030547069856
_@_variable_name.setter
私有变量赋值
Generator、yield、yield from
参考:https://lotabout.me/2017/Python-Generator/
yield的作用:暂停控制流,返回yield后跟的表达式,等待下次调用继续执行,可以用send函数改变上次yield后面跟的表达式的值