
python
文章平均质量分 61
perfectsorrow
这个作者很懒,什么都没留下…
展开
-
Python 读取大文件
最近在学习python的过程中接触到了python对文件的读取。python读取文件一般情况是利用open()函数以及read()函数来完成:f = open(filename,'r')f.read()这种方法读取小文件,即读取远远大小小于内存的文件显然没有什么问题。但是如果是将一个10G大小的日志文件读取,即文件大于内存的大小,这么处理就有问题了,会造成MemoryError ... 也就是发...转载 2018-06-10 17:37:49 · 517 阅读 · 0 评论 -
__dict__与dir()
Python下一切皆对象,每个对象都有多个属性(attribute),Python对属性有一套统一的管理方案。__dict__与dir()的区别:dir()是一个函数,返回的是list;__dict__是一个字典,键为属性名,值为属性值;dir()用来寻找一个对象的所有属性,包括__dict__中的属性,__dict__是dir()的子集; 并不是所有对象都拥有__dict__属性。许多内建类型...转载 2018-06-05 10:10:32 · 317 阅读 · 0 评论 -
使用@property
在绑定属性时,如果我们直接把属性暴露出去,虽然写起来很简单,但是,没办法检查参数,导致可以把成绩随便改:s = Student()s.score = 9999这显然不合逻辑。为了限制score的范围,可以通过一个set_score()方法来设置成绩,再通过一个get_score()来获取成绩,这样,在set_score()方法里,就可以检查参数:class Student(object):...转载 2018-06-05 10:03:53 · 191 阅读 · 0 评论 -
python的metaclass(元类)
类也是对象在理解metaclass之前,我们先要掌握python中的类(class)是什么。python中类的概念,是借鉴自smalltalk语言。在大部分语言中,类指的是"描述如何产生一个对象(object)"的一段代码,这对于python也是如此。>>> class ObjectCreator(object):... pass...>>> ...转载 2018-06-03 10:47:54 · 176 阅读 · 0 评论 -
python的魔术方法 __call__
__call__在Python中,函数其实是一个对象:>>> f = abs>>> f.__name__'abs'>>> f(-123)123由于 f 可以被调用,所以,f 被称为可调用对象。所有的函数都是可调用对象。一个类实例也可以变成一个可调用对象,只需要实现一个特殊方法__call__()。我们把 Person...原创 2018-05-30 16:14:14 · 576 阅读 · 0 评论 -
python的魔术方法 __nonzero__
类的__nonzero__方法用于将类转换为布尔值。通常在用类进行判断和将类转换成布尔值时调用。比如语句if A: print 'foo'中就会调用A.__nonzero__()来判断。下面这个程序应该能帮助你理解__nonzero__的作用。class A: def __nonzero__(self): print 'A._nonzero__()' return True prin...原创 2018-05-30 15:16:16 · 533 阅读 · 0 评论 -
python的魔术方法 __format__
__format__()方法 __format__()传参方法:someobject.__format__(specification) specification为指定格式,当应用程序中出现"{0:specification}".format(someobject)或format(someobject, specification)时,会默认以这种方式调用 当specification为"...原创 2018-05-30 15:10:19 · 437 阅读 · 0 评论 -
python的魔术方法 __unicode__()
对实例使用unicode()时调用。unicode()与str()的区别在于: 前者返回值是unicode, 后者返回值是str。unicode和str都是basestring的子类。当你对一个类只定义了__str__但没定义__unicode__时,__unicode__会根据__str__的返回值自动实现,即return unicode(self.__str__());但反过来则不成立。cla...原创 2018-05-30 14:49:19 · 2228 阅读 · 0 评论 -
python的魔术方法 __str__ 和__repr__
__str__和__repr__如果要把一个类的实例变成 str,就需要实现特殊方法__str__():class Person(object): def __init__(self, name, gender): self.name = name self.gender = gender def __str__(self): return '...原创 2018-05-30 14:44:02 · 920 阅读 · 0 评论 -
werkzeug 详解
首先,先向大家介绍一下什么是 werkzeug,Werkzeug是一个WSGI工具包,他可以作为一个Web框架的底层库。这里稍微说一下, werkzeug 不是一个web服务器,也不是一个web框架,而是一个工具包,官方的介绍说是一个 WSGI 工具包,它可以作为一个 Web 框架的底层库,因为它封装好了很多 Web 框架的东西,例如 Request,Response 等等。例如我最常用的 Fla...转载 2018-05-08 11:24:56 · 24946 阅读 · 3 评论 -
wtforms 简介
WTForms是一个支持多个web框架的form组件,主要用于对用户请求数据进行验证。安装:pip3 install wtformsWTforms作用:当网站中需要用到表单时,WTForms变得很有效。应该把表单定义为类,作为单独的一个模块。表单类:class wtforms.form.Form:创建表单:创建表单时,通常是创建一个Form的子类,表单的中的字段作为类的属性,如:from wtfo...转载 2018-05-08 11:20:16 · 5374 阅读 · 0 评论