- 博客(11)
- 收藏
- 关注
原创 Python迭代器和生成器
生成器是迭代器的一种生成器得是一种函数以及函数内部有yield而不是return来返回值(注:python2)生成器实现了迭代器协议(即对象必须有next方法。注:python3是__next__方法)除此外生成器还实现了send方法以及close方法关于send()方法需要注意的是:调用send传入非None值前,生成器必须处于挂起状态,否则将抛出异常。也就是说,第一次调用时,要使用next()...
2018-01-06 21:19:43
191
原创 python上下文管理器
上下文管理器是一个包装任意代码块的对象。上下文管理器保证进入上下文管理器时,每次代码执行的一致性;当退出上下文管理器时,相关资源会被正确回收(这里被正确回收指的是在__exit__方法自定义回收代码,比如关闭数据库游标)。 值得注意的是,上下文管理器一定能够保证退出步骤的执行。如果进入上下文管理器,根据定义,一定会有退出步骤。即使内部的代码抛出异常,这点也成立。事实上,如果退出步
2018-01-06 20:40:56
177
原创 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
224
原创 python关于late binding和作用域链的理解
关于late binding即函数或闭包中的变量值只有在函数或闭包中的内部函数执行的时候才会进行查找赋值 例如a=1def foo(): b=a print ba=2foo()result:2关于作用域链作用域链就是当函数调用时的作用域连接 例如1.a=1def fo(): print adef foo(): a=2 fo()foo()r
2017-10-19 23:12:49
598
转载 mysql -- start: Job failed to start
场景:ubuntu上修改mysql默认字符编码出现的Job failed to start解决方法ubuntu下修改mysql默认字符编码出现的Job failed to start解决办法 前几天卸掉了用了好多年的Windows,安装了Ubuntu12.04,就开始各种搭环境。今天装好了MySQL5.5.22,正用着爽呢,突然发现里面的中文全部变成了乱码,于是便试着
2017-03-09 21:08:48
1167
转载 Flask_wtf 多表单
出于简化交互的考虑,我们经常见到很多网站把登录页面和注册界面放在同一个页面上,而当我们使用Flask来实现时,却发现问题重重:不管是哪个表单按下了提交按钮,总是提交第一个表单的数据;当一个表单数据验证出错时,两个表单都出现了错误提示;问题的解决简单来说,问题的主要原因是Flask-WTF的form1.validate_on_submit()并不验证是哪个表单的sub
2017-03-06 21:17:19
2703
原创 java入门:对象以及对象引用原理
今天第二次java上机,被老师问得一脸懵逼,看似很容易解读的代码,其深层含义却无法回答。问题的关键是对象以及对象的引用,代码片段如下node tail,head; lianbiao(){ head = new node(1); tail = head; } void Headin(int x){ node p = ne
2017-03-06 21:05:38
235
原创 关于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
2357
转载 python @staticmethod @classmethod 区别
Python的静态方法和类成员方法都可以被类或实例访问,两者概念不容易理清,但还是有区别的:静态方法无需传入self参数,类成员方法需传入代表本类的cls参数;从第1条,静态方法是无法访问实例变量的,而类成员方法也同样无法访问实例变量,但可以访问类变量;静态方法有点像函数工具库的作用,而类成员方法则更接近类似Java面向对象概念中的静态方法。实现静态方法和类方法的两种方式一
2016-10-31 18:19:47
260
转载 python open()
open/文件操作f=open('/tmp/hello','w')#open(路径+文件名,读写模式)#读写模式:r只读,r+读写,w新建(会覆盖原有文件),a追加,b二进制文件.常用模式如:'rb','wb','r+b'等等读写模式的类型有:rU 或 Ua 以读方式打开, 同时提供通用换行符支持 (PEP 278)w 以写方式打开,a
2016-10-30 15:51:22
370
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人