• Python 内存优化

    Posted by : lon.y@qq.com on 2017年11月20日

    实际项目中,pythoner更加关注的是Python的性能问题,之前也写过一篇文章《Python性能优化》介绍Python性能优化的一些方法。而本文,关注的是Python的内存优化,一般说来,如果不发生内存泄露,运行在服务端的Python代码不用太关心内存,但是如果运行在客户端(比如移动平台上),那还是有优化的必要。具体而言,本文主要针对的Cpython,而且不涉及C扩展。 我们知道,Python使用引用技术和垃圾回收来管理内存,底层也有各种类型的内存池,

    阅读全文...

  • Python NLP入门教程

    Posted by : lon.y@qq.com on 2017年11月20日

    本文简要介绍Python自然语言处理(NLP),使用Python的NLTK库。NLTK是Python的自然语言处理工具包,在NLP领域中,最常使用的一个Python库。 什么是NLP? 简单来说,自然语言处理(NLP)就是开发能够理解人类语言的应用程序或服务。 这里讨论一些自然语言处理(NLP)的实际应用例子,如语音识别、语音翻译、理解完整的句子、理解匹配词的同义词,以及生成语法正确完整句子和段落。 这并不是NLP能做的所有事情。 NLP实现 搜索引擎:

    阅读全文...

  • 动态语言的灵活性是把双刃剑 -- 以 Python 语言为例

    Posted by : lon.y@qq.com on 2017年11月20日

    本文有些零碎,总题来说,包括两个问题:(1)可变对象(最常见的是list dict)被意外修改的问题,(2)对参数(parameter)的检查问题。这两个问题,本质都是因为动态语言(动态类型语言)的特性造成了,动态语言的好处就不细说了,本文是要讨论因为动态--这种灵活性带来的一些问题。 什么是动态语言(Dynamic Programming language)呢,是相对于静态语言而言,将很多静态语言编译(compilation)时期所做的事情推迟到运行时,

    阅读全文...

  • 三生万物:决策树

    Posted by : lon.y@qq.com on 2017年11月17日

    一、概述 不知怎么回事,提到决策树我就想起”道生一,一生二,二生三,三生万物“这句话,大概是因为决策树从一个根节点慢慢“长”成一棵树,也要经历“一生二,二生三”的过程。决策树本质上就是一种二叉树,根据特定的标准不停的分成左右两个子树,直到符合某种条件停止。树算法解释性强、简单直观以及接近人的决策方式使它成为流行的机器学习算法之一。当决策树与装袋法(Bag)、提升法(Boosting)结合之后,可以成为更强大的算法。 决策树按响应值的类型大致分为分类树和回归

    阅读全文...

  • Numpy 小结

    Posted by : lon.y@qq.com on 2017年11月15日

    Python 真火来学习一下,先来看一个库 NumPy。NumPy是Python语言的一个扩充程序库。支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。 1. 读取文件 numpy.genfromtxt() 用于读取 txt 文件,其中传入的参数依次为: 需要读取的 txt 文件位置,此处文件与程序位于同一目录下 分割的标记 转换类型,如果文件中既有文本类型也有数字类型,就先转成文本类型 help(numpy.genfromtxt)

    阅读全文...

  • Jupyter 常见可视化框架选择

    Posted by : lon.y@qq.com on 2017年11月15日

    对于以Python作为技术栈的数据科学工作者,Jupyter是不得不提的数据报告工具。可能对于R社区而言,鼎鼎大名的ggplot2是常见的可视化框架,而大家对于Python,以及Jupyter为核心的交互式报告的可个视化方案就并没有那么熟悉。本文试图比较几个常用的解决方案,方便大家选择。 选择标准 称述式还是命令式 数据工作者使用的图的类别,常见的就三类:GIS可视化、网络可视化和统计图。因此,大多数场景下,我们并不想接触非常底层的基于点、线、面的命令,所

    阅读全文...

  • 走近 Python (类比 JS )

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

    Python 是一门运用很广泛的语言,自动化脚本、爬虫,甚至在深度学习领域也都有 Python 的身影。作为一名前端开发者,也了解 ES6 中的很多特性借鉴自 Python (比如默认参数、解构赋值、Decorator等),同时本文会对 Python 的一些用法与 JS 进行类比。不管是提升自己的知识广度,还是更好地迎接 AI 时代,Python 都是一门值得学习的语言。 数据类型 在 Python 中,最常用的能够直接处理的数据类型有以下几种: 数字[整

    阅读全文...

  • Perl 与 Python 之间的一些异同

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

    关于 Perl 与 Python 的起源和特点 Perl 是 Practical Extraction and Report Language 的简称,由 1987 年 Larry Wall 创建,最初的目的是为了在 UNIX 上方便处理报表,经过长期的发展已经成为一种全功能的程序设计语言,当前最新的版本为 Perl5.14.1,Perl 作为一种自由而强大的编程语言,其中心思想是: There’s More Than One Way To Do It。(

    阅读全文...

  • 使用 Python 在 Linux 上实现一键回归测试

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

    从代码库迁出代码 —- pexpect 的使用 测试人员从代码库(例如 CVS )迁出代码的过程中,需要手动输入访问密码,而 Python 提供了 Pexpect 模块则能够将手动输入密码这一过程自动化。当然 Pexpect 也可以用来和 ssh、ftp、passwd、telnet 等命令行进行自动化交互。这里我们以 CVS 为例展示如何利用 Pexpect 从代码库迁出代码。 清单 1. 用 pexpect 迁出代码库代码 try: chkout_cmd

    阅读全文...

  • 使用 Gc、Objgraph 干掉 Python 内存泄露与循环引用!

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

    Python使用引用计数和垃圾回收来做内存管理,前面也写过一遍文章《Python内存优化》,介绍了在python中,如何profile内存使用情况,并做出相应的优化。本文介绍两个更致命的问题:内存泄露与循环引用。内存泄露是让所有程序员都闻风丧胆的问题,轻则导致程序运行速度减慢,重则导致程序崩溃;而循环引用是使用了引用计数的数据结构、编程语言都需要解决的问题。本文揭晓这两个问题在python语言中是如何存在的,然后试图利用gc模块和objgraph来解决这两

    阅读全文...