Python
文章平均质量分 80
royt
这个作者很懒,什么都没留下…
展开
-
再次理解Python描述符
都说Python是优雅的语言,在我看来Python的语法和实现给人一种自然而然的感觉,比如容器的继承机制,迭代器和生成器,上下文管理,以及各种双下划线开头的特殊方法。了解Python的设计之后,就会觉得本该是这个样子,毫无违和感。唯一例外的是描述符(Descriptor),这玩意对Python而言可是举足轻重,但是从一般用户的角度去看就有点生硬,不知道为什么会存在这样的东西,特别是关于访问优先级,...原创 2020-04-18 22:49:34 · 284 阅读 · 0 评论 -
用Python的函数式编程特性解释Y Combinator(仿JavaScript版)
函数式编程曾经火过一阵,但是一直没有在工业领域流行起来,其实函数式编程的思想早就融入工业语言,常见的JavaScript,Python,Ruby都支持函数式编程特性,甚至C++11标准也引入了匿名函数。过去曾看到过介绍【lambda算子】的一系列文章,当时有种大开眼界的感觉,原来计算能以这种方式表达,可惜没有进一步学习FP的零零总总。这一向又偶然瞥见一篇文章用JavaScript模拟Y组合子,心想着既然最近的工作都在用Python,干脆依葫芦画瓢用Py也来实现一遍吧。原创 2017-07-20 16:40:55 · 1548 阅读 · 0 评论 -
不断重构:关于一个简单的爬虫小程序
关于代码重构,我的经验是不用一开始就尽善尽美,那样不仅耽误进度,而且有可能开始就弄得太复杂,要关注的细节太多。在不停的完善程序功能的过程中,一些明显需要优化的地方,可以顺便改起来,也不要等到全部功能完成之后再重构,那样也会感觉一团乱麻不好下手,很容易改着改着就引入bug了。重构无处不在,哪怕是写一些很小的程序,一样有提升的空间。最近写了个简单的爬虫,原本的目的是想给自己省时间。因为经常去某体育论坛...原创 2018-02-10 19:30:15 · 602 阅读 · 0 评论 -
对Python协程的一点理解
很早以前了解到协程(或者纤程),只有个硬生生的概念,进程可以分成多个线程,而线程又可以分为多个协程,不仅上下文切换的代价更小,而且协程运行在用户态可以避免不必要的系统调用。 最近对协程的了解加深了一些。首先要知道,如果协程跑在单一线程里,系统地并行性能不会提高,并不会利用多核的威力,但是对并发的支持却可以大大提升。因为现实中的计算机,从寄存器到缓存,再到内存和磁盘以及网络,延时是越来越大的,因此...原创 2019-04-20 22:24:46 · 186 阅读 · 0 评论