python3中filter返回值的判断问题
最早接触python3来说,最明显的变化就是print方法了,另一个非常大的变化 是返回值生成器类型的使用。 在python2中,很多返回list类型的方法,在python3中都返回生成器对象, 比如最著名的range(),在python3中返回生成器,即python2中的xrange()。 而很多其他方法也是如此,比如list相关的map,reduce,filter方法, 还有dict操作的keys(),items()等,都是由原来的返回list类型, 转而返回生成器类型。...
使用Django+Vue组合开发Restful风格的家用收纳系统
为了进一步学习web开发相关内容,自己想了个需求,就开始干了。 github项目链接 构架采用流行的RESTful api风格后端加响应式前端组合,虽然都还不熟悉,但是硬着头皮开始。 经过一番调研,Django Rest framework(drf)算是比较广泛的restful库了,看了看文档,比较清晰,在序列化方面有一些便捷的方法。 后端验证方面,使用了drf文档里推荐的oauth toolkit库来组合。...
flask一次客户端请求的过程
按照Werkzeug的示例,继承封装了标准库http中的HTTPServer和BaseHTTPRequestHandler。在客户端发出请求后,会触发到Handler类中的handle()方法,然后是一连串的handle_one_request()-->run_wsgi()方法,run_wsgi在werkzeug中重写了会收集环境信息environ,并定义了write,start_response,execute内置方法,然后会执行execute方法,这里app(environ,...
正则表达式环视的理解
最近看完了《精通正则表达式》的前面和语言无关的几章,也正好碰到了一个知乎问题,所以就强行答了一下。如何理解先行断言 把我的回答再总结一下。 (?=)在《精通正则表达式》书上叫“环视”,具体上说叫“顺序肯定环视”。环视不占有字符,只作为判断的条件进行匹配。 1,具体如下这个例子 ^(?=.*\d)(?=.*[A-Z])\w{8,15}$ 先来刨去两个(?=)环视条件 ^\w{8,15}$...
修饰器及flask的route修饰器
python的修饰器是python的一个特色,也是比较难理解的地方,不过运用得当的话会非常优雅和简洁。 通常的两种修饰器形式是无参数的双层结构,即 def decorator(f): def wrapper(*args, **kwargs): # do some thing before f return f(*args, **kwargs) return wrapper 这样,即定义了一个无参的修饰器,使用时在对应函数的前面加上@decorator即可。 @decorator def...