最近工程能力上升的还是很快的,晚上用自己的代码抢抢票。
嘎嘎嘎嘎 今天学了超多的python:(函数的)闭包、高阶函数、柯里化、装饰器(语法糖)、多线程、line_profiler、时间戳、import机制
python是很慢的,而且还是GIL,更是速度受到很大限制。所以提升速度的方案应该是分析每块代码的运行时间 -> 变为multi-processes -> 进程分配
分析运行时间推荐line_profiler既可以在编译执行,也可以解释执行。
可以看出glob这步时间花费100ms,这部的目的是标注后面有时间戳
我把所有的时间戳去掉
时间花费少了0.1s
整个流程下来一个图片要花费0.14s(上面没写保存)
————————单线程优化至此————————
(后面俩步骤明天补上)
Decorator(语法糖)
(外部函数 内部函数)
这版是可以传参
python3是可以用中文命名变量的
python的闭包
@decorator 这层的必须是一个带有func参数的函数
defwho(sex):
defdecorator(func):
defwhether():
ifsexis'woman':
func()
else:
func()
returnwhether
returndecorator
@who('woman')
defwoman():
print('She is a woman!')
@who('man')
defman():
print('He is a man!')
man()
接收函数作为参数的函数,都可以叫做高阶函数。(filter, map)
柯里化就是把就是通过闭包将多个参数的函数变成接收一个参数的函数
import机制
领取专属 10元无门槛券
私享最新 技术干货