闭包(closure)是函数式编程的重要的语法结构。函数式编程是一种编程范式(而面向过程编程和面向对象编程也都是编程范式)。在面向过程编程中,我们见到过函数(function);在面向对象编程中,我们见过对象(object)。函数和对象的根本目的是以某种逻辑方式组织代码,并提高代码的可重复使用性(reusability)。闭包也是一种组织代码的结构,它同样提高了代码的可重复使用性。不同的语言实现闭包的方式不同。Python以函数对象为基础,为闭包这一语法结
系统 2019-09-27 17:45:47 1954
PythonQueue模块Python中,队列是线程间最常用的交换数据的形式。Queue模块是提供队列操作的模块,虽然简单易用,但是不小心的话,还是会出现一些意外。创建一个“队列”对象importQueueq=Queue.Queue(maxsize=10)Queue.Queue类即是一个队列的同步实现。队列长度可为无限或者有限。可通过Queue的构造函数的可选参数maxsize来设定队列长度。如果maxsize小于1就表示队列长度无限。将一个值放入队列中q
系统 2019-09-27 17:45:30 1954
Python可以使用xml.etree.ElementTree模块从简单的XML文档中提取数据。为了演示,假设你想解析PlanetPython上的RSS源。下面是相应的代码:fromurllib.requestimporturlopenfromxml.etree.ElementTreeimportparse#DownloadtheRSSfeedandparseitu=urlopen('http://planet.python.org/rss20.xml')
系统 2019-09-27 17:38:13 1954
前言很多时候在windows下压缩文件没问题,但是到了Linux下,出现乱码,很常见。以前在Ubuntu下,用`unzip-OGBKfilename.zip`就可以搞定。换了Fedora后,暂时没发现乱码的压缩文件。晚上下载一本书的光盘,又碰到了乱码。尝试之前的方法没成功。看了下unzip的help,没-O那个参数了==刚好找到一个用python解决的办法,分享下。新建一个`.py`后缀的文件,直接复制粘贴代码:#!/usr/bin/envpython#-
系统 2019-09-27 17:38:03 1954
====================================================================今天逛空间,意外看到CSDN空间报如上图的错!这种错误以前也见到过!今天就深入研究一下错误产生的原因:解决504GatewayTime-out(nginx)504GatewayTime-out问题常见于使用nginx作为webserver的服务器的网站我遇到这个问题是在升级discuz论坛的时候遇到的一般看来,这种情况可能
系统 2019-08-29 23:46:36 1954
工厂方法(FactoryMethod)定义一个用于创建对象的接口,让子类决定实例哪一个类。工厂方法使一个类的实例化延迟到其子类。在工厂方法模式中,核心的工厂类不再负责所有产品的创建,而是将具体创建的工作交给子类去做。这个核心工厂则变为抽象工厂角色,仅负责给出工厂子类必须实现的接口,而不接触哪一产品创建的细节。工厂方法模式可以用来允许系统不修改具体工厂角色的情况下引进新产品在工厂方法模式中,一般都有一个平行的等级结构,抽象工厂对应抽象产品,具体工厂对应具体产
系统 2019-08-29 23:25:22 1954
B树、B-树、B+树、B*树都是什么B树即二叉搜索树:1.所有非叶子结点至多拥有两个儿子(Left和Right);2.所有结点存储一个关键字;3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树;如:B树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中;否则,如果查询关键字比结点关键字小,就进入左儿子;如果比结点关键字大,就进入右儿子;如果左儿子或右儿子的指针为空,则报告找不到相应的关键字;如果B树的所有非叶子结点
系统 2019-08-29 23:15:58 1954
编译Java代码的任务的编写方式:这个标签寻找src目录中以.java为扩展名的所有文件,并对它们调用javac编译器,从而在相同的目录中生成类文件。当然,将类文件放在一个单独的目录结构中通常会更清晰;可以通过添加destdir属性来让Ant做到这点。其他有用的属性包括:classpath:等价于javac的-classpath选项。debug="true":指示编译器应该带调试信息编译源文件。javac任务的一个重
系统 2019-08-29 23:13:34 1954
1、查看新硬盘#fdisk–l新添加的硬盘的编号为/dev/sdb2、硬盘分区1)进入fdisk模式#/sbin/fdisk/dev/sdb2)输入n进行分区3)选择分区类型这里有两个选项:p:主分区linux上主分区最多能有4个e:扩展分区linux上扩展分区只能有1个,扩展分区创建后不能直接使用,还要在扩展分区上创建逻辑分区。这里我选择的p。4)选择分区个数可以选择4个分区,这里我只分成1个分区5)设置柱面,这里选择默认值就可以6)如果选择的是e(
系统 2019-08-29 23:06:52 1954
在《与IoFilter相关的几个类》和《与IoHandler相关的几个类》两篇文档中我们了解了IoFilter和IoHandler的基本用法,以及其相关类的作用和用途。在本文中主要探讨IoFilter和IoHandler的主要区别和联系。在上面的两篇文档中都提到了IoFilter和IoHandler都是对服务器或客户端(IoAcceptor/IoConnector)接收到的数据进行处理。在Mina的官方文档《Thehigh-performanceproto
系统 2019-08-29 23:01:54 1954