-
def calc_prod(lst): def lazy_calc(): prod=1.0 for i in lst: prod*=i return prod return lazy_calc f = calc_prod([1, 2, 3, 4]) print f()查看全部
-
def cmp_ignore_case(s1, s2): if s1[0].lower()>s2[0].lower(): return 1 elif s2[0].lower()>s1[0].lower(): return -1 else: return 0 print sorted(['bob', 'about', 'Zoo', 'Credit'],cmp_ignore_case)查看全部
-
import math def is_sqr(x): r = math.sqrt(x) return x and x == int(r)*int(r) print filter(is_sqr, range(1, 101))查看全部
-
函数式编程。 functional 一种编程范式。查看全部
-
关键字lambda 表示匿名函数,冒号前面的 x 表示函数参数。 匿名函数有个限制,就是只能有一个表达式,不写return,返回值就是该表达式的结果。 使用匿名函数,可以不必定义函数名,直接创建一个函数对象,很多时候可以简化代码查看全部
-
def g(): print 'g()...' def f(): print 'f()...' return g 将 g 的定义移入函数 f 内部,防止其他代码调用 g: def f(): print 'f()...' def g(): print 'g()...' return g 但是, calc_sum 函数: def calc_sum(lst): def lazy_sum(): return sum(lst) return lazy_sum 注意: 发现没法把 lazy_sum 移到 calc_sum 的外部,因为它引用了 calc_sum 的参数 lst。 像这种内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,称为闭包(Closure)。 闭包的特点是返回的函数还引用了外层函数的局部变量,所以,要正确使用闭包,就要确保引用的局部变量在函数返回后不能变。查看全部
-
经查询之后 修改为:python -m pip查看全部
-
此处需要重点学习查看全部
-
import math def is_sqr(x): r= int(math.sqrt(x)) return r*r==x print filter(is_sqr, range(1, 101))查看全部
-
def prod(x, y): return x*y print reduce(prod, [2, 4, 5, 7, 12])查看全部
-
def format_name(s): return str.title(s) print map(format_name, ['adam', 'LISA', 'barT'])查看全部
-
import math def add(x, y, f): return f(x) + f(y) print add(25, 9, math.sqrt)查看全部
-
sorted()也是一个高阶函数,它可以接收一个比较函数来实现自定义排序,比较函数的定义是,传入两个待比较的元素 x, y,如果 x 应该排在 y 的前面,返回 -1,如果 x 应该排在 y 的后面,返回 1。如果 x 和 y 相等,返回 0查看全部
-
@装饰器查看全部
-
__str__() __len__() __cmp__() ....查看全部
举报
0/150
提交
取消