• 永远别写for循环

    Posted by : lon.y@qq.com on 2017年7月4日

    为什么要挑战自己在代码里不写for loop?因为这样可以迫使你去使用比较高级、地道的语法或库。文中以python为例子,讲了不少大家其实在别人的代码里都见过、但自己很少用的语法。 这是一个挑战。我要你避免在任何情况下写for循环。同样的,我也要你找到一种场景——除了用for循环以外,用其他方法写都太难。请分享你的发现,我非常想听到这些 距离我开始探索超棒的Python语言特性已经有一段时间了。一开始,这只是我给自己的一个挑战,练习使用更多的语言特性来替代

    阅读全文...

  • ShutIt:一个基于 Python 的 shell 自动化框架

    Posted by : lon.y@qq.com on 2017年7月4日

    译者注:本文通过实例简单介绍了ShutIt这个基于Python的自动化框架的使用方法。除了pexpect,我们又多了这个选择。以下是译文。 ShutIt是一个易于使用的基于shell的自动化框架。它对基于python的expect库(pexpect)进行了包装。你可以把它看作是“没有痛点的expect”。它可以通过pip进行安装。 Hello World 让我们从最简单的例子开始吧。创建一个名为example.py的文件: import shutit se

    阅读全文...

  • 什么时候使用 Lambda 函数?

    Posted by : lon.y@qq.com on 2017年7月4日

    Python 中定义函数有两种方法,一种是用常规方式 def 定义,函数要指定名字,第二种是用 lambda 定义,不需要指定名字,称为 Lambda 函数。 Lambda 函数又称匿名函数,匿名函数就是没有名字的函数,函数没有名字也行?当然可以啦。有些函数如果只是临时一用,而且它的业务逻辑也很简单时,就没必要非给它取个名字不可。 好比电影里面的群众演员,往往他们的戏份很少,最多是衬托主演,跑跑龙套,他们需要名字吗?不需要,因为他们仅仅只是临时出镜,下次可

    阅读全文...

  • 代码这样写更优雅(Python 版)

    Posted by : lon.y@qq.com on 2017年7月4日

    Python 这门语言最大的优点之一就是语法简洁,好的代码就像伪代码一样,干净、整洁、一目了然。但有时候我们写代码,特别是 Python 初学者,往往还是按照其它语言的思维习惯来写,那样的写法不仅运行速度慢,代码读起来也费尽,给人一种拖泥带水的感觉,过段时间连自己也读不懂。 《计算机程序的构造和解释》的作者哈尔·阿伯尔森曾这样说:“Programs must be written for people to read, and only incidenta

    阅读全文...

  • Python 解惑:整数比较

    Posted by : lon.y@qq.com on 2017年7月4日

    在 Python 中一切都是对象,毫无例外整数也是对象,对象之间比较是否相等可以用==,也可以用is。==和is操作的区别是: is比较的是两个对象的id值是否相等,也就是比较俩对象是否为同一个实例对象,是否指向同一个内存地址。 ==比较的是两个对象的内容是否相等,默认会调用对象的__eq__()方法。 清楚is和==的区别之后,对此也许你有可能会遇到下面的这些困惑,于是就有了这样一篇文章,试图把Python中一些隐晦的东西趴出来,希望对你有一定的帮助。我

    阅读全文...