python
天宇流芳
写写博客
记录自己学习的路程
展开
-
关于windows下MySQLdb导入报错问题
报错信息为: ImportError: this is MySQLdb version (1, 3, 9, 'final', 1), but _mysql is version (1, 2, 3, 'final', 0) 此种问题理论上可以重装MySQLdb 但是由于在windows下面总是有各种奇奇怪怪的问题,导致即使虚拟环境里有MySQLdb也会报错。 解决方案是将c原创 2016-12-21 00:12:22 · 2378 阅读 · 0 评论 -
python关于late binding和作用域链的理解
关于late binding即函数或闭包中的变量值只有在函数或闭包中的内部函数执行的时候才会进行查找赋值 例如a=1 def foo(): b=a print b a=2 foo() result:2 关于作用域链作用域链就是当函数调用时的作用域连接 例如1.a=1 def fo(): print a def foo(): a=2 fo() foo() r原创 2017-10-19 23:12:49 · 604 阅读 · 0 评论 -
Flask_wtf 多表单
出于简化交互的考虑,我们经常见到很多网站把登录页面和注册界面放在同一个页面上,而当我们使用Flask来实现时,却发现问题重重: 不管是哪个表单按下了提交按钮,总是提交第一个表单的数据; 当一个表单数据验证出错时,两个表单都出现了错误提示; 问题的解决 简单来说,问题的主要原因是Flask-WTF的form1.validate_on_submit()并不验证是哪个表单的sub转载 2017-03-06 21:17:19 · 2725 阅读 · 0 评论 -
python装饰器
python装饰器其核心就是一个函数,类似于spring中的AOP。 通常来说,该函数接受被装饰的函数作为参数,执行某些操作后,返回该参数或者返回调用该参数的函数。 一般来说装饰器有下列几种用法:1.在装饰时对被装饰的函数进行操作def doc_decorate(func): func.__doc__ = "return the sum of @param x and @param y"原创 2018-01-03 15:23:36 · 231 阅读 · 0 评论 -
Python迭代器和生成器
生成器是迭代器的一种生成器得是一种函数以及函数内部有yield而不是return来返回值(注:python2)生成器实现了迭代器协议(即对象必须有next方法。注:python3是__next__方法)除此外生成器还实现了send方法以及close方法关于send()方法需要注意的是:调用send传入非None值前,生成器必须处于挂起状态,否则将抛出异常。也就是说,第一次调用时,要使用next()...原创 2018-01-06 21:19:43 · 216 阅读 · 0 评论