沉寂一个月后的复苏

不知不觉,一个月没有写东西。感觉很快,因为没有感觉;但有感觉很慢,因为心理一直在作斗争。

这将近一个月的时间里,我基本没有和业界的朋友交流,自己都感觉自己像蒸发了一样。这一个月的经过,给我积累了人生的一次重要经验——项目一定要选对人。剩下的就留给时间去消化吧。

今天以后,我将继续恢复日常的上班,学习,记录生活。

今天,北京天气很好。趁着阳光正好,我正式入职豆瓣了。

……

READ MORE

[译]python中垃圾回收和析构函数笔记

紧接上一篇转载的文章《Python魔术方法总结》文末提及的英文参考文章,洒家顺手就翻译了一下。方便墙内的同学学习。这篇文章不仅指出了Python如何处理垃圾回收,还提到了我们作为程序员不应该只借助现代化IDE的函数提示功能去完成代码,应该多去看官方的完整文档,可以知道哪些函数被废弃的,哪些函数在使用时需要注意什么等等一些很重要的信息。话不多说,自己体会,请向下阅读文章吧。

原文链接:https://www.electricmonk.nl/log/2008/07/07/python-destructor-and-garbage-collection-notes/

我很少在Python对象中使用析构函数。我猜Python的动态特性往往弱化了对析构函数的需求。但是现在,假如我需要在对象被销毁时,或者更确切地说,当程序退出时,要将一些数据写入磁盘。这时我会使用__del__ 魔术方法在主要操作的类对象中定义了一个析构函数。但是奇怪的是,这个析构函数自始至终都没有被调用到。不仅在程序退出时没有被调用到,而且我手动使用del删除时也不会被调用。由于这个程序是我前一段时间写的,所有稍微有点不是很熟悉了,这导致我怀疑是我程序中有一个大的BUG存在。

……

READ MORE

[转]Python中的魔术方法汇总

这是一篇很不错的总结文章,简单易理解,洒家忍不住要转载收藏一下。

源文链接:http://algo.site/?cat=60

基础:

如果你想… 所以,你写… Python调用…
初始化一个实例 x = MyClass() x.__init__()
作为一个字符串的"官方"表示 repr(x) x.__repr__()
作为一个字符串 str(x) x.__str__()
作为字节数组 bytes(x) x.__bytes__()
作为格式化字符串 format(x, format_spec) x.__format__(format_spec)

……

READ MORE

《算法图解》读书笔记6-图以及广度优先搜索

什么是图

图模拟一组链接,图由顶点和边组成。一个顶点可能与众多顶点直接相连,这些顶点被称为邻居

图通常表示为:G(V,E),其中,G表示一个图,V是图中顶点的集合,E是图中边的集合。

简单图

在图结构中,若不存在顶点到其自身的边,且同一条边不重复出现,则这样的图称之为简单图。

无向图

如果图中任意两个顶点之间的边都是无向边,则称该图为无向图。

无向边:若顶点M到顶点N的边没有方向,称这条边为无向边,用无序偶对(M,N)或(N,M)表示。

……

READ MORE

《算法图解》读书笔记5-散列函数及扩展

散列函数

散列函数就是一种映射,是从关键字到存储地址的映射。通常,包含散列函数的算法的算法复杂度都为O(1),对应到Python中的数据结构就是字典,给一个key可以得到一个固定的value值。散列函数必须满足一些要求:

  • 它必须是一直的。例如,假设输入apple时得到的是4,那么每次输入apple时,都必须是4,不然这个散列函数就是无意义的;
  • 散列函数应该将不同的输入值,对应到不同的值上。(虽然不同的key对应相同的value是允许的,但最理想的情况是不同的key,对应不同的value,这种称之为完美散列

……

READ MORE

Scroll to top