类别归档:Python

Python is a programming language that lets you work quickly and integrate systems more effectively.

RSS feed of Python

安装numpy提示Unable to find vcvarsall.bat懒人解决方案

在Windows命令提示符下使用pip安装numpy时,提示错误:error: Unable to find vcvarsall.bat

操作系统:Windows 7 x32

Python版本:Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win32

懒人解决方案:

前置条件:安装pip(https://pypi.python.org/pypi/pip)

从链接http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy下载numpy的whl文件到本地

例如将numpy-1.9.2+mkl-cp27-none-win32.whl下载到路径F:\python\

然后在cmd中cd F:\python\

执行命令pip install "numpy-1.9.2+mkl-cp27-none-win32.whl"即可。

Python内置函数map与reduce用法简介

map与reduce是两个十分常用的Python内置函数,它们与Hadoop中的MapReduce在某些方面有一定的相似之处。

map函数:

map(function, iterable, ...)

对于可迭代对象(iterable)中的每一个元素调用处理函数(function),并以列表(list)形式返回每个元素的调用结果。如果传递了不止一个可迭代对象参数,函数从各个可迭代对象中取出相同位置的元素加以并行处理。如果可迭代对象长短不一,则为较短的参数末尾补充None元素,使其长度补齐。如果处理函数为None,则视为恒等函数(identity function,返回值等于传入参数的函数叫做恒等函数);如果传入了多个参数,map()会返回一个包含各个可迭代对象对应结果的元组列表(可以视为转置操作)。可迭代参数可以是一个序列(sequence),或者任何可以迭代的对象;结果总是返回list。

Apply function to every item of iterable and return a list of the results. If additional iterable arguments are passed, function must take that many arguments and is applied to the items from ...

继续阅读

Python操作多维数组和矩阵

在许多编程语言中(Java,COBOL,BASIC),多维数组或者矩阵是(限定各维度的大小)预先定义好的。而在Python中,其实现更简单一些。

如果需要处理更加复杂的情形,可能需要使用Python的数学模块包NumPy,链接地址:http://numpy.sourceforge.net/

首先来看一个简单的二维表格。投掷两枚骰子时,有36种可能的结果。我们可以将其制成一个二维表格,行和列分别代表一枚骰子的得数:

	1	2	3	4	5	6
1	2	3	4	5	6	7
2	3	4	5	6	7	8
3	4	5	6	7	8	9
4	5	6	7	8	9	10
5	6	7 ...

继续阅读

Python vs. PHP下一个项目应该用什么

PHP和Python目前是世界上最流行的两种Web编程语言,自然都有其各自的优点和缺点。然而,在澳大利亚IDG公司——Techworld Australia的出版商——我们在过去的18个月左右的时间里,正在从PHP迁移到Python。虽然我们还没有为这个决定感到后悔,但如果你觉得从PHP切换至Python是一个简单的决定,就大错特错了。

PHP vs. Python: 语言流行程度

毋庸置疑PHP非常的流行;实际上,它现在是最流行的开源编程语言。PHP开发者和PHP工作都是一抓一大把。现在,在Seek.com.au上,澳大利亚就有大概3790个PHP职位。并且这种需求通常转化为一个巨大的开发者资源池,在需要扩展你的团队时,随时可以从中选出可用的开发者。(And this demand generally translates into a large pool of developers that can be tapped into when you want to expand your team.)

Python从来没有这么流行过。不过,反过来,它没有PHP那么流行有时候也是一种优势。Python开发者可能会更加稀缺,但我发现他们通常素质更高。虽然我确定市场上有一些比较差的Python开发者,但我还没有在面试时遇到过。我很希望PHP开发者也可以这样。

PHP vs. Python: 语言语法

PHP有着非常类似C的语法。任何接触过类C语言的人都可以直观地看到这一点。花括号和分号和你见过的完全一样,感觉很熟悉。在我用PHP开发第一个项目时并没有PHP经历。仅仅花了2个小时,我阅读了一个小教程,发现了我要找的bug并且修复了问题,提交到生产环境。

Python就没有这么容易了。取代了花括号的有意义的空格需要花费一些时间来适应。这个变化需要刚刚开始使用Python的开发者多花一些时间来适应。随着时间的推移,这个缺点就会自行消失,并且,由于Python语法通常极为简单,实际上读起来像伪代码。

PHP vs. ...

继续阅读

Python非递归算法求解Fibonacci斐波那契数列

斐波那契数列递归数学定义如下:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)

Python代码:

函数f(n),输入非负整数n,返回f[n] 

def f(n):
    a, b = 0, 1
    for i in range(0, n):
        a, b = b, a + b
    return a

函数返回值:

print(f(1))  # 1
print(f(2))  # 1
print(f(3))  # 2
print(f(10)) # 55

上述代码来自:http://stackoverflow.com/questions/15047116/a-iterative-algorithm-for-fibonacci-numbers

函数fib(n),输入非负整数n,返回fibs数组

def ...

继续阅读