Python函数式编程

许多静态语言助长一个函数的类型就是其返回值类型,在python中,由于python是动态的确定类型而且函数能返回不同类型的值,所以没有进行直接的类型关联。

python允许函数返回多个对象,python会把它们聚集成一个元组返回,看起来就像能返回多个对象一样。

列表解析

非常灵活的,而且简单的动态创建列表的工具。列表解析可以取代map,filter,lambda,而且效率更高。lambda允许你快速的创建只有一行的函数对象。

[x ** 2 for x in range(6) ]
//[0,1,4,9,16,25]
map(lambda x : x**2 ,range(6) )

seq = [1,2,3]
filter(lambda x : x%2 ,seq)
[x for x in seq if x%2]

f = open('paper.txt','r')
len([word for line in f for word in line.split()])
//统计文本中单词数
sum([len(word) for line in f for word in line.split()])
//统计文本非空字符的数量

Comments !