变量名:PYTHON_HOME 变量值:C:\Python26\ 变量名:PATH 变量值:;%PYTHON_HOME%
同一台電腦環境,是可以混和安裝 Python 2.6、2.7、3.0、3.1、3.2,基本上安裝方式都是一樣的…
安裝在相對應的路徑即可,舉例如下:
python 2.6:C:\python26
python 2.7:C:\python27
python 3.2:C:\python32
4.测试实例
a=[1,2,3,4,5]
m = map(lambda x:x+3, a) list(m)
#[4, 5, 6, 7, 8]
以上4条语句是用python写的。我现在逐一讲述每条语句。 第一句是定义一个list,包含5个元素,赋值给一个变量a(python声明时不需要指定数据类型)。
第二句是关键。其中蓝色的“lambda”是关键词,用于定义一个匿名函数。该匿名函数的形式参数是x,函数定义是返回x+3.那么“lambda x:x+3”就是定义一个匿名函数,形式参数是x,返回x+3。就这么简单。好了,继续分析。这里的map就是一个函数。map函数包括两个参数,第一个就是刚才定义的匿名函数,第二个是一个a,即第一句中定义的list。map函数执行后,把返回值赋值给变量m。
第三句是显示语句,使用list函数显示上面的运算结果m的值。
第四句是显示第三句的运行结果。我们发现,map函数结果也是一个list,并且list中包含的元素个数与参数a的元素个数相同,但是m中的每个元素都是a中对应元素执行匿名函数的结果。 以上就是python写的四句代码的全部含义。大家不要纠结python的语法,只需要关注map的含义即可。
python写法,两个例子中的lambda是定义匿名函数的,就像java中可以new一个接口似的。Reduce中匿名函数的两个形参是x和y(假设默认值都是0),这个匿名函数在运行时传入的参数是a中的各个元素。其中x分别是1,2,3,4,5;那么y会传入什么值哪?y是x+y的累计值。
一步步的遍历a中的元素,过程如下:
可能会感觉到reduce的用法这么奇怪,因为python是函数式编程语言。函数语言中函数是一等公民,就像java中类一样普遍。