• python 协程 1:yield 10分钟入门

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

    最近找到一本python好书《流畅的python》,是到现在为止看到的对python高级特性讲述最详细的一本。看了协程一章,做个读书笔记,加深印象。 协程定义 协程的底层架构是在pep342 中定义,并在python2.5 实现的。 python2.5 中,yield关键字可以在表达式中使用,而且生成器API中增加了 .send(value)方法。生成器可以使用.send(…)方法发送数据,发送的数据会成为生成器函数中yield表达式的值。 协程是指一个过

    阅读全文...

  • 如何用 Python 检测伪造的视频

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

    译者注:本文以一段自打24小时耳光的视频为例子,介绍了如何利用均值哈希算法来检查重复视频帧。以下是译文。 有人在网上上传了一段视频,他打了自己24个小时的耳光。他真的这么做了吗?看都不用看,肯定没有! 前几天,我浏览YouTube的时候,看到了一段非常流行的视频。在视频里,一个人声称自己要连续打脸24小时。视频的长度就是整整的24小时。我跳着看完了这个视频,确实,他就是在打自己的脸。许多评论都说这个视频是伪造的,我也是这么想的,但我想确定这个结论。 计划

    阅读全文...

  • Python 编码错误的本质原因

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

    不论你是有着多年经验的 Python 老司机还是刚入门 Python 不久的新贵,你一定遇到过UnicodeEncodeError、UnicodeDecodeError 错误,每当遇到错误我们就拿着 encode、decode 函数翻来覆去的转换,有时试着试着问题就解决了,有时候怎么试都没辙,只有借用 Google 大神帮忙,但似乎很少去关心问题的本质是什么,下次遇到类似的问题重蹈覆辙,那么你有没有想过一次性彻底把 Python 字符编码给搞懂呢? 完全理

    阅读全文...

  • 永远别写for循环

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

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

    阅读全文...

  • TensorFlow 实战:Neural Style

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

      Neural Style是一个非常有意思的深度学习应用:输入一张代表内容的图片和一张代表风格的图片,深度学习网络会输出一张融合了这个风格和内容的新作品。 TensorFlow是Google开源的最流行的深度学习框架。作者anishathalye使用TensorFlow实现了Neural Style,并将其开源放在了GitHub上。本文对他的代码进行深入剖析。代码请点这里。 Pretrained VGG-19 Model VGG在2014年的 ILSVR

    阅读全文...

  • 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中一些隐晦的东西趴出来,希望对你有一定的帮助。我

    阅读全文...