- 军军小站|张军博客
搜索到与相关的文章
Python

简单讲解Python中的闭包

闭包并不是什么新奇的概念,它早在高级语言开始发展的年代就产生了。闭包(Closure)是词法闭包(LexicalClosure)的简称。对闭包的具体定义有很多种说法,这些说法大体可以分为两类:一种说法认为闭包是符合一定条件的函数,比如参考资源中这样定义闭包:闭包是在其词法上下文中引用了自由变量的函数。另一种说法认为闭包是由函数和与其相关的引用环境组合而成的实体。比如参考资源中就有这样的的定义:在实现深约束时,需要创建一个能显式表示引用环境的东西,并将它与相

系统 2019-09-27 17:38:28 1851

Python

Python读大数据txt

如果直接对大文件对象调用read()方法,会导致不可预测的内存占用。好的方法是利用固定长度的缓冲区来不断读取文件内容。即通过yield。在用Python读一个两个多G的txt文本时,天真的直接用readlines方法,结果一运行内存就崩了。还好同事点拨了下,用yield方法,测试了下果然毫无压力。咎其原因,原来是readlines是把文本内容全部放于内存中,而yield则是类似于生成器。代码如下:defopen_txt(file_name):withope

系统 2019-09-27 17:38:24 1851

Python

python代码 if not x: 和 if x is not None

代码中经常会有变量是否为None的判断,有三种主要的写法:第一种是`ifxisNone`;第二种是`ifnotx:`;第三种是`ifnotxisNone`(这句这样理解更清晰`ifnot(xisNone)`)。如果你觉得这样写没啥区别,那么你可就要小心了,这里面有一个坑。先来看一下代码:>>>x=1>>>notxFalse>>>x=[1]>>>notxFalse>>>x=0>>>notxTrue>>>x=[0]#Youdon'twanttofallinth

系统 2019-09-27 17:38:05 1851

Python

Python实现二分法算法实例

1.算法:(设查找的数组期间为array[low,high])(1)确定该期间的中间位置K(2)将查找的值T与array[k]比较。若相等,查找成功返回此位置;否则确定新的查找区域,继续二分查找。区域确定如下:a.array[k]>T由数组的有序性可知array[k,k+1,……,high]>T;故新的区间为array[low,……,K-1]b.array[k]复制代码代码如下:#!/usr/bin/python#-*-coding:utf-8-*-def

系统 2019-09-27 17:37:51 1851

Python

详解在Python的Django框架中创建模板库的方法

不管是写自定义标签还是过滤器,第一件要做的事是创建模板库(Django能够导入的基本结构)。创建一个模板库分两步走:第一,决定模板库应该放在哪个Django应用下。如果你通过manage.pystartapp创建了一个应用,你可以把它放在那里,或者你可以为模板库单独创建一个应用。我们更推荐使用后者,因为你的filter可能在后来的工程中有用。无论你采用何种方式,请确保把你的应用添加到INSTALLED_APPS中。我们稍后会解释这一点。第二,在适当的Dja

系统 2019-09-27 17:37:42 1851

编程技术

Jexi设计 (8) 使用SWT创建GUI

目前Document类的结构已经比较完善了,由于编辑Document涉及到界面,所以先把GUI写出来。用Java做界面一直是比较麻烦的事情,早期的AWT太慢,现在很少用了,Swing我没用过,但速度也快不了多少,最后发现SWT是一个不错的本地库,速度够快,而且效果和本地平台一样(因为是调用的平台相关API),不仔细看根本看不出是java做的。不过,考虑到移植性,我决定把Frame分成平台无关和相关两层,这样就有足够的灵活性,将来可以用Swing或者其他GU

系统 2019-08-29 23:45:24 1851

编程技术

《漫步》flash动画制作全记录五

场景五的黄昏场景是一个从城市到森林的过渡场景,出现的时间比较短,所以在这个场景里并没有设计什么小细节。场景五的草稿图:场景完成图:场景五里唯一有点技术含量的就是飞舞的树叶了,远处的树叶做得很简单,就是一个单帧的小叶片在飘动。近处的树叶做了一个逐帧的翻滚动画,用了9帧。呵呵,画这个动画的时候是把家里阳台上的紫藤树叶摘了一片,拿在手上一点一点的翻动,边翻边画的,哈哈。眼前飞过的树叶是把每一帧都在PS里模糊化后再导入到FLASH里生成的。主要是为了突出一个远近的

系统 2019-08-29 23:35:23 1851

编程技术

用WinInet开发Internet客户端应用指南(一)

一、概述一个Internet客户端程序的目的是通过Internet协议如:HTTP、FTP等来存取网络数据源(服务器)的信息。客户端程序可以访问服务器获得象天气预报,股票价格、重要新闻数据,甚至是与服务器交换信息。Internet客户端程序可以通过外部网络(Internet)或内部网络(一般为Intranet)访问服务器。为了开发Internet客户端程序。MFC类库提供了专门的Win32Internet扩展接口,也就是WinInet。MFC将WinIne

系统 2019-08-29 23:33:56 1851

编程技术

如何创建ADF Application Module 使用的JNDI数

ADF应用通常部署在Weblogic中,本文介绍如何在Weblogic中创建JDNI数据源,并将该数据源提供给ADF应用中的AM使用。1,在AM中,ConnectionType选择JDBCDataSource,输入自定义的DatasourceName2,启动Weblogic服务器,在主页中选择JDBC->数据源->新建数据源名称任意,JNDI名称需要跟AM中的DatasourceName保持一致。3,下一步,数据库驱动一般选择下图的选项:4,下一步,信息默

系统 2019-08-29 23:33:04 1851

编程技术

DWR框架入门

dwr框架(菜鸟入门)该文可以看做是作者的学习笔记,部分内容可以认为是个人理解,请读者注意辨别。DWR(DirectWebRemoting)是一个开源的类库,可以帮助开发人员开发包含AJAX技术的网站.它可以允许在浏览器里的代码使用运行在WEB服务器上的JAVA函数,就像它就在浏览器里一样.DWR采取了一个类似AJAX的新方法来动态生成基于JAVA类的JavaScript代码.这样WEB开发人员就可以在JavaScript里使用Java代码就像它们是浏览器

系统 2019-08-29 23:31:24 1851