调试程序时,很多人喜欢直接用print来代替断点调试,而pysnooper模块比print更方便,以装饰器的形式存在 安装pysnooper模块 pip3 install pysnooper 具体使用 import pysnooper @pysnooper.snoop()def test(): a ...
分类:
编程语言 时间:
2020-06-01 11:48:07
阅读次数:
62
函数高级 一、闭包 def fun1(): x = 520 def fun2(): print(x) x = 1200 fun1() print(x)# 内部函数包含对外部作用于而非全局作用域的引用 二、装饰器 不改变函数体的代码,并且不改变函数的调用方式,为函数添加功能,他本质就是一个函数,附加被 ...
分类:
编程语言 时间:
2020-05-31 17:56:14
阅读次数:
59
案例研究:机器人和餐具 其次,也是更重要的一点,我们过去(现在也仍然不相信)标准的多线程模型,它是共享内存抢占式并发:我们仍然认为没有人能够在“a = a + 1”是不确定的语言中编写正确的程序。 我讲了一个餐厅的故事,里面的类人机器人——ThreadBots——做了所有的工作。在这个比喻里,每个工 ...
分类:
编程语言 时间:
2020-05-31 11:29:38
阅读次数:
57
1.闭包介绍 闭包的定义: 在函数嵌套的前提下,内部函数使用了外部函数的变量(外部函数的参数也属于外部函数的变量),并且外部函数返回了内部函数的引用,我们把这个使用外部函数变量的内部函数称为闭包。 # 定义一个外部函数 def func_out(num1): # 定义一个内部函数 def func_ ...
分类:
其他好文 时间:
2020-05-31 11:02:06
阅读次数:
70
设计模式是一门艺术,因为它们来源于生活,不要为了套用设计模式而去使用设计模式。我们在编写程序的时候用好设计模式可以防范于未然,它们可以很好地提供一种解决问题的方案。从古至今,我们在遇到问题的时候,都会去寻求帮助,咨询懂的人,或者去图书馆查阅资料,或者在电脑前面搜索,等等方法。在学习23种设计模式之前 ...
分类:
其他好文 时间:
2020-05-30 19:41:29
阅读次数:
98
一、装饰者模式的应用场景 在我们的生活中比如给煎饼加个鸡蛋,给蛋糕加上一些水果,给房子装修等。为对象扩展一些额外对象的职责。装饰者模式(Decorator Pattern)是指在不改变原有对象的基础之上,提供了比继承更有弹性的替代方案(扩展原有对象的功能)。 装饰者模式使用于以下几种场景: 用于扩展 ...
分类:
其他好文 时间:
2020-05-30 19:40:54
阅读次数:
84
参考:https://blog.csdn.net/xu547823501/article/details/86076188 1、无聊的背景、起源: 如今的业务系统越来越复杂庞大,各个功能直接的调用也是多如牛毛,但如果在联调的时候,恰好被调的接口正在开发,怎么办? 傻傻的等么,不存在的!这时会搭建一些 ...
分类:
编程语言 时间:
2020-05-30 15:46:25
阅读次数:
122
今天跟大家讲的是URL与视图函数的映射 URL与视图函数的映射 url与视图函数的映射是通过@app.route()装饰器实现的。 1、只有一个斜杠代表的是根目录——首页。 # coding: utf-8 from flask import Flask # __name__是用来确定flask运行的 ...
分类:
Web程序 时间:
2020-05-29 21:20:18
阅读次数:
74
函数 函数对象与嵌套 名称空间与作用域 闭包函数 匿名函数 迭代器 生成器 装饰器 表达式 递归 二分法 模块与包 项目开发目录 ...
分类:
其他好文 时间:
2020-05-29 09:34:42
阅读次数:
51
储备知识 1.*args, **kwargs def index(x,y): print(x,y) def wrapper(*args,**kwargs): index(*args,**kwargs) # # index(y=222,x=111) wrapper(y=222,x=111) 2.名称空 ...
分类:
其他好文 时间:
2020-05-28 23:32:12
阅读次数:
77