-
import time, functools
def performance(unit):
def pref_decorator(f):
@functools.wraps(f)
def wapper(*args ,**kw):
t1 = time.time()
r = f(*args, **kw)
t2 = time.time()
if unit == 'ms':
t = (t2 - t1) * 1000
else:
t = t2 - t1
print 'call %s () in %f %s'%(f.__name, t, unit)
return r
return wapper
return pref_decorator
@performance('ms')
def factorial(n):
return reduce(lambda x,y: x*y, range(1, n+1))
print factorial.__name__
查看全部 -
isinstance(实例化类,类型)
查看全部 -
super(子类,self).__init__(共有的参数),初始化子类函数,就不用再重新写一遍了
查看全部 -
import time
def performance(unit):
def pref_decorator(f):
def fn(*args, **kw):
t1 = time.time()
r = f(*args, **kw)
t2 = time.time()
if unit == 'ms':
t = (t2 - t1) * 1000
else:
t = t2 - t1
print 'call %s() in %f %s'%(f.__name__,t,unit)
return r
return fn
return pref_decorator
@performance('ms')
def factorial(n):
return reduce(lambda x,y: x*y, range(1, n+1))
print factorial(10)
查看全部 -
import time
def performance(f):
def fn(*args ,**kw):
t1 = time.time()
r = f(*args , **kw)
t2 = time.time()
print 'call %s() in %fs'%(f.__name__,(t1-t2))
return r
return fn
@performance
def factorial(n):
return reduce(lambda x,y: x*y, range(1, n+1))
print factorial(10)
查看全部 -
def count():
fs = []
for i in range(1, 4):
def f(j):
def g():
return j * j
return g
m = f(i)
fs.append(m)
return fs
f1, f2, f3 = count()
print f1(), f2(), f3()
查看全部 -
def count():
fs = []
for i in range(1, 4):
def f(j):
def g():
return j * j
return g
m = f(i)
fs.append(m)
return fs
f1, f2, f3 = count()
print f1(), f2(), f3()
查看全部 -
def calc_prod(lst):
def lazy_prod():
def f(x,y):
return x * y
return reduce(f,lst)#(f,lst,1)
return lazy_prod
f = calc_prod([1, 2, 3, 4])
print f()
查看全部 -
def cmp_ignore_case(s1, s2):
if s1.lower() < s2.lower():
return -1
if s1.lower() > s2.lower():
return 1
return 0
print sorted(['bob', 'about', 'Zoo', 'Credit'], cmp_ignore_case)
查看全部 -
Python内置的 sorted()函数可对list进行排序。
但 sorted()也是一个高阶函数,它可以接收一个比较函数来实现自定义排序,比较函数的定义是,传入两个待比较的元素 x, y,如果 x 应该排在 y 的前面,返回 -1,如果 x 应该排在 y 的后面,返回 1。如果 x 和 y 相等,返回 0。
查看全部 -
filter()函数是 Python 内置的另一个有用的高阶函数,filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回 True或 False,filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list。
s.strip(rm) 删除 s 字符串中开头、结尾处的 rm 序列的字符。
当rm为空时,默认删除空白符(包括'\n', '\r', '\t', ' ')
查看全部 -
def prod(x, y):
return x * y
print reduce(prod, [2, 4, 5, 7, 12])
查看全部 -
reduce()函数也是Python内置的一个高阶函数。reduce()函数接收的参数和 map()类似,一个函数 f,一个list,但行为和 map()不同,reduce()传入的函数 f 必须接收两个参数,reduce()对list的每个元素反复调用函数f,并返回最终结果值。
reduce()还可以接收第3个可选参数,作为计算的初始值。
查看全部 -
def format_name(s):
#return s[0].upper()+s[1:].lower()
return s.capitalize()
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)
查看全部
举报