转到正文

博客水木

一个学习总结与工作经验分享博客。

存档

分类: Python

python 作为脚本有一个不足之处——执行效率和性能不够理想,特别是在 performance 较差的机器上,所以需要进行一定的代码优化来提高程序的执行效率。 优化通常包含两方面的内容:减小代码的体积,提高代码的运行效率。 定位程序性能瓶颈 对代码优化的前提是需要了解性能瓶颈在什么地方,程序运行的主要时间是消耗在哪里...继续阅读

...

Python已经演化出了一个广泛的生态系统,该生态系统能够让Python程序员的生活变得更加简单,减少他们重复造轮的工作。同样的理念也适用于工具开发者的工作,即便他们开发出的工具并没有出现在最终的程序中。本文将介绍Python程序员必知必会的开发者工具。 对于开发者来说,最实用的帮助莫过于帮助他们编写代码文档了。py...继续阅读

...

网络爬虫(Web Crawler, Spider)就是一个在网络上乱爬的机器人。当然它通常并不是一个实体的机器人,因为网络本身也是虚拟的东西,所以这个“机器人”其实也就是一段程序,并且它也不是乱爬,而是有一定目的的,并且在爬行的时候会搜集一些信息。例如 Google 就有一大堆爬虫会在 Internet 上搜集网页内容以及它们之间...继续阅读

...

假如你对数独解法感兴趣,你可能听说过精确覆盖问题。给定全集 X 和 X 的子集的集合 Y ,存在一个 Y 的子集 Y*,使得 Y* 构成 X 的一种分割。 这儿有个Python写的例子。 X = {1, 2, 3, 4, 5, 6, 7} Y = { ‘A‘: [1, 4, 7], ‘B‘: [1, 4], ‘C‘: [4, 5, 7], ‘D‘: [3, 5, 6], ‘E‘: [2, 3, 6, 7], ...继续阅读

...

本文将介绍使用mutable对象作为Python函数参数默认值潜在的危害,以及其实现原理和设计目的 陷阱重现 我们就用实际的举例来演示我们今天所要讨论的主要内容。 下面一段代码定义了一个名为generate_new_list_with的函数。该函数的本意是在每次调用时都新建一个包含有给定element值的list。而实际运行结果如下: Python 2....继续阅读

...

当我开始学习Python的时候,有些事我希望我一早就知道。我花费了很多时间才学会这些东西。我想要把这些重点都编纂到一篇文章当中。这篇文章的目标读者,是刚刚开始学习Python语言的有经验的程序员,想要跳过前几个月研究Python使用的那些他们已经在用的类似工具。包管理和标准工具这两节对于初学者来说同样很有帮助。 我...继续阅读

...

1. 正则表达式基础 1.1. 简单介绍 正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别只在于不同的编程语言实现支持的语法...继续阅读

...

许多应用程序中都会有日志模块,用于记录系统在运行过程中的一些关键信息,以便于对系统的运行状况进行跟踪。在.NET平台中,有非常著名的第三方开源日志组件log4net,c++中,有人们熟悉的log4cpp,而在python中,我们不需要第三方的日志组件,因为它已经为我们提供了简单易用、且功能强大的日志模块:logging。logging模...继续阅读

...

easy_install 和 pip的介绍: easy_install和pip都是用来下载安装Python一个公共资源库PyPI 的相关资源包的,pip是easy_install的改进版,提供更好的提示信 息,删除package等功能。老版本的python中只有easy_install, 没有pip。 easy_install 打包和发布 Python 包 pip 是包管理 easy_install 的安装 前提是python的...继续阅读

...

最近,Analysis with Programming加入了Planet Python。作为该网站的首批特约博客,我这里来分享一下如何通过Python来开始数据分析。具体内容如下: 数据导入导入本地的或者web端的CSV文件; 数据变换; 数据统计描述; 假设检验单样本t检验; 可视化; 创建自定义函数。数据导入 这是很关键的一步,为了后续的分析我们首先需要导...继续阅读

...
建站服务