python不是纯函数式编程,允许有变量
支持高阶函数,函数也可以作为变量传入
支持闭包,有了闭包,就能够返回函数
有限度地支持匿名函数
支持高阶函数,函数也可以作为变量传入
支持闭包,有了闭包,就能够返回函数
有限度地支持匿名函数
2015-04-07
import math
def is_sqr(x):
return math.sqrt(x)%1==0
print filter(is_sqr, range(1, 101))
def is_sqr(x):
return math.sqrt(x)%1==0
print filter(is_sqr, range(1, 101))
2015-04-07
最赞回答 / a412739861
不是,Fib(n)中的n其实匹配的是for n in range(num)中的num,进行了num次迭代。循环是为了构成n个斐波那契数列,你把for n in的n换成x也是可以的。
2015-04-05
最新回答 / DanDanHang
是的,注意底下加粗的部分Help on built-in function reduce in module __builtin__:reduce(...) reduce(function, sequence[, initial]) -> value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the se...
2015-04-05
最赞回答 / lhclylzl
当含有其他类是,可以判断其他类的类型。例如有数字和字符串,数字和分数比较,字符串和名字比较 def __cmp__(self, s): if isinstance(s,Student): if self.score<s.score: return -1 elif self.score>s.score: return 1 else: ...
2015-04-05
def reversed_cmp(x, y):
if x > y:
return -1
if x < y:
return 1
return 0
这样,调用 sorted() 并传入 reversed_cmp 就可以实现倒序排序:
>>> sorted([36, 5, 12, 9, 21], reversed_cmp)
[36, 21, 12, 9, 5]
无法理解这一段
if x > y:
return -1
if x < y:
return 1
return 0
这样,调用 sorted() 并传入 reversed_cmp 就可以实现倒序排序:
>>> sorted([36, 5, 12, 9, 21], reversed_cmp)
[36, 21, 12, 9, 5]
无法理解这一段
2015-04-04