搜索到与相关的文章
Python

Python的内存泄漏及gc模块的使用分析

一般来说在Python中,为了解决内存泄漏问题,采用了对象引用计数,并基于引用计数实现自动垃圾回收。由于Python有了自动垃圾回收功能,就造成了不少初学者误认为自己从此过上了好日子,不必再受内存泄漏的骚扰了。但如果仔细查看一下Python文档对__del__()函数的描述,就知道这种好日子里也是有阴云的。下面摘抄一点文档内容如下:Somecommonsituationsthatmaypreventthereferencecountofanobjectfr

系统 2019-09-27 17:38:39 2034

Python

Python实现单词拼写检查

这几天在翻旧代码时发现以前写的注释部分有很多单词拼写错误,这些单词错得不算离谱,应该可以用工具自动纠错绝大部分。用Python写个拼写检查脚本很容易,如果能很好利用aspell/ispell这些现成的小工具就更简单了。要点1、输入一个拼写错误的单词,调用aspell-a后得到一些候选正确单词,然后用距离编辑进一步�鹧〕龈�精确的词。比如运行aspell-a,输入‘hella'后得到如下结果:hell,Helli,hello,heal,Heall,he'll

系统 2019-09-27 17:38:21 2034

Python

深入解析Python中的上下文管理器

1.上下文管理器是什么?举个例子,你在写Python代码的时候经常将一系列操作放在一个语句块中:(1)当某条件为真�C执行这个语句块(2)当某条件为真�C循环执行这个语句块有时候我们需要在当程序在语句块中运行时保持某种状态,并且在离开语句块后结束这种状态。所以,事实上上下文管理器的任务是�C代码块执行前准备,代码块执行后收拾。上下文管理器是在Python2.5加入的功能,它能够让你的代码可读性更强并且错误更少。接下来,让我们来看看该如何使用。2.如何使用上

系统 2019-09-27 17:38:08 2034

编程技术

线程基础

线程不是进程作为有一定开发经验的程序员来说,在java中实现多线程是一件很容易的事情,你只需要将你的类继承Thread类或者实现Runnable接口就可以。其实线程完全可以理解为一个任务。可以同时运行多个任务的程序,就成为多线程程序。然而线程并非进程。进程包括线程,每一个进程都拥有一套自己的变量,而线程间则共享这套变量。从而带来了很多风险,比如最典型的脏数据。这些以后会讨论。线程状态在java中,线程被定义成有6中状态:NEW至今尚未启动的线程处于这种状态

系统 2019-08-29 23:06:34 2034

编程技术

Jexi设计 (6) View设计

以下讨论View的设计。Document是抽象的文档类,它包含了所有的数据和如何显示的信息,我们已经通过Page,Paragraph,Row等等抽象出来了。Frame代表窗体对象,负责构造出窗体,菜单栏,工具栏等等,它可以接受用户的命令,然后将命令传递给Document。View代表视图对象,负责绘制文档数据,它在update()方法中绘制可视区域。除了绘制文档数据,视图还可能要绘制滚动条,标尺等等。Decorator模式终于派上用场了,抽象出View接口

系统 2019-08-29 23:03:40 2034

编程技术

006_《深入Delphi6 网络编程》

《深入Delphi6网络编程》Delphi教程系列书籍(006)《深入Delphi6网络编程》网友(邦)整理EMail:shuaihj@163.com下载地址:Pdf附书源码作者:静海丛书名:Delphi编程热点技术系列丛书出版社:中国铁道出版社ISBN:7113043402上架时间:2001-10-29出版日期:2001年10月页码:344版次:1-1内容简介本书系统地介绍了编程工具Delphi及其网络组件、Delphi中线程的应用、利用WinSockA

系统 2019-08-29 23:01:25 2034

编程技术

如何阅读他人的程序代码

作者简介:王建兴,清华大学资讯工程系的博士研究生,研究兴趣包括计算机网络、点对点网络、分布式网络管理、以及行动式代理人,专长则是Internet应用系统的开发。曾参与过的开发项目性质十分广泛而且不同,从ERP、PCGame到P2P网络电话都在他的涉猎范围之内。一、读懂程序代码,使心法皆为我所用程序代码是别人写的,只有原作者才真的了解程序代码的用途及涵义。许多程序人心里都有一种不自觉的恐惧感,深怕被迫去碰触其他人所写的程序代码。但是,与其抗拒接收别人的程序代

系统 2019-08-29 22:57:47 2034

编程技术

算法分析之分治法学习总结(一)

算法分析之分治法学习总结(一)一)解决问题的类型:当我们要解决一个输入规模(n)很大的问题时,直接处理往往比较困难或者根本无法求解,我们希望把输入规模缩小,即分成很多份,分别解决了,并且这些小问题容易合起来从而解决整个问题。二)解题关键:1)如何分:我们往往先把输入分成两个与原来相同的子问题,如果规模还太大,我们对这些子问题再做上述处理,直到这些子问题容易解决为止.2)合并子问题:往往分治法的难点在于分完之后怎么合并.合并策略决定了算法的优劣,合并问题根据

系统 2019-08-12 09:30:06 2034

各行各业

MFC warning LNK4070错误提示解决办法

我在DLL项目中遇到了,因为要对Debug版和Release版分别指定不同的输出文件名。对Debug版,我指定输出文件为dllD.dll,对Release版指定为dllR.dll。解决方法有两个:(1)删掉自动生成的dll.DEF文件,在代码中使用_declspec(dllexport)导出函数;(2)删掉dll.DEF文件中LIBRARY字段后面双引号及其内部的库名即可,也可以将其改掉。如改为:;dll.def:Declaresthemodulepara

系统 2019-08-12 09:27:30 2034

各行各业

Code Simplicity–The Science of Software Dev

Chapter1IntroductionThatistheartandtalentinvolvedinprogramming—reducingcomplexitytosimplicity.A“badprogrammer”isjustsomebodywhofailstoreducethecomplexity.So,a“goodprogrammer”shoulddoeverythinginhispowertomakewhathewritesassimpleas

系统 2019-08-12 09:26:40 2034