这章讨论“接口”问题。折腾面向对象那些年,接口被大书特书过。特别是Java。但是Python选择的是完全不同的路线。它选择简洁和实用,并不追求纯粹。 Python更推崇所谓“鸭子类型”的做法:只要你叫的像鸭子,走路像鸭子,那你就是鸭子 …
流畅的Python-Fluent Python读书笔记-10-序列的修改、散列和切片
这章以一个vector类为案例,主要研究如何设计实现序列操作,修改,散列,切片,以及属性的自定义操作。个人觉得这章内容更适合设计类库的开发者。普通应用可能会部分用到里面的技术,比如自定义序列切片操作。所以参考下,知道个大概即可,真正用到的时…
流畅的Python-Fluent Python读书笔记-09-符合Python风格的对象
这章延续第1章内容,探讨如何实现很多Python类型中常见的特殊方法。这些特殊方法我觉得可以看成一种特别的“钩子”。Python内部设计的远比PHP/JavaScript语言严谨、精巧、精细,它定义了对象的各种各样的运算方式,这些方式在内部…
流畅的Python-Fluent Python读书笔记-08-对象引用、可变性和垃圾回收
这章开始讨论Python面向对象的话题。 Python这种动态语言,变量本身是谈不上“类型”的,因为它可以随时指向另外的内容。本章一开头就提到这点,不能把变量看成“盒子”,而要看成“标签”。它跟静态语言正好是反的。另外,Python语言支持…
流畅的Python-Fluent Python读书笔记-07-函数装饰器和闭包
这章讲的是函数装饰器和闭包。函数装饰器在Python框架、类库中大量使用,不懂这个是看不懂也无法理解它们的。闭包其实是存在了很久的概念,只是在函数式编程逐渐兴起之后,开始被广大程序猿群众熟知。特别是在JavaScript里面,到处都是闭包。…
流畅的Python-Fluent Python读书笔记-06-使用一等函数实现设计模式
这章延续上一章节的内容,继续讨论函数。这里探讨使用一等函数来实现设计模式。 设计模式是当年红极一时的概念,现在也是余威犹存。因为它反应了软件领域一些本质性的有效表达结构。不过滥用设计模式的情况也是很多的。当年很多人学了设计模式,不是根据实际…
流畅的Python-Fluent Python读书笔记-05-一等函数
这章开始讨论Python的函数。在Python中,函数是一等对象,怎么理解这个概念?定义是这样的: 在运行时创建 能赋值给变量或数据结构中的元素 能作为参数传给函数 能作为函数的返回结果 我强烈建议,看这章内容的时候,对比一下JavaScr…
后端开发中关系数据库的开发管理新思路
在工作上遇到的各类开发需求中,只要涉及到后端功能,关系数据库的使用几乎不可避免。虽说有各类NoSQL产品竞争和补充,但是它们没法完全替代关系数据库,实际上也很难替代。各项技术,各有各的优点和长处。我这里提出一个经过实践检验总结出来的新的数据…
自己编译构建Redis Desktop Manager for Ubuntu Linux客户端
在最近的工作中,我需要使用Redis客户端查看一些数据。但是突然间发现,以前使用的FastoRedis变成了收费订阅软件。好吧,这是它的自由。另外一个比较好的软件是Redis Desktop Manager,这个软件是使用QT构建的,能够跨…
导航地图避免拥堵的算法该怎么做?
早上用了高德地图导航,发现过去提供了三条路径的选择,今天只给了两条,昨天使用的那条没有提供。心想是不是系统有了什么状况?不管了,先奔昨天的路口再说,高德会自动切换路线。结果刚一到路口,吓呆。那条街堵死了,车流纹丝不动。这才想起高德提供的选项…