import time
def performance(unit):
def f1(f):
def f2(n):
t1 = time.time()
r = f(n)
t2 = time.time()
t = (t2 - t1) * 1000 if unit=='ms' else (t2 - t1)
def performance(unit):
def f1(f):
def f2(n):
t1 = time.time()
r = f(n)
t2 = time.time()
t = (t2 - t1) * 1000 if unit=='ms' else (t2 - t1)
2015-03-19
print 'call %s() in %f %s' % (f.__name__, t, unit)
return r
return f2
return f1
@performance('ms')
def factorial(n):
return reduce(lambda x,y: x*y, range(1, n+1))
print factorial(10)
return r
return f2
return f1
@performance('ms')
def factorial(n):
return reduce(lambda x,y: x*y, range(1, n+1))
print factorial(10)
2015-03-19
def performance(f):
def log_time(x):
t1= time.time()
r = f(x)
t2=time.time()
print 'call %s() in %fs' % (f.__name__, (t2 - t1))
return r
return log_time
@performance
def factorial(n):
return reduce(lambda x,y: x*y, range(1, n+1))
def log_time(x):
t1= time.time()
r = f(x)
t2=time.time()
print 'call %s() in %fs' % (f.__name__, (t2 - t1))
return r
return log_time
@performance
def factorial(n):
return reduce(lambda x,y: x*y, range(1, n+1))
2015-03-19
def count():
fs = []
for i in range(1, 4):
def js(i):
def js1():
return i*i
return js1
a=js(i)
fs.append(a)
return fs
f1, f2, f3 = count()
print f1(), f2(), f3()
fs = []
for i in range(1, 4):
def js(i):
def js1():
return i*i
return js1
a=js(i)
fs.append(a)
return fs
f1, f2, f3 = count()
print f1(), f2(), f3()
2015-03-19
def calc_prod(lst):
def f():
def cj(x,y):
return x*y
return reduce(cj,lst)
return f
f = calc_prod([1, 2, 3, 4])
print f()
def f():
def cj(x,y):
return x*y
return reduce(cj,lst)
return f
f = calc_prod([1, 2, 3, 4])
print f()
2015-03-19
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)
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)
2015-03-19
Python lower() 方法转换字符串中所有大写字符为小写。
语法
lower()方法语法:
str.lower()
参数
无。
返回值
返回将字符串中所有大写字符转换为小写后生成的字符串。
语法
lower()方法语法:
str.lower()
参数
无。
返回值
返回将字符串中所有大写字符转换为小写后生成的字符串。
2015-03-19
今天在看zacbary kessin的html5 application的时候也看到了这三个函数。。。函数式编程火的一腿。
2015-03-18
import math
def calc_prod(lst):
def num_ji():
return [math.factorial(x) for x in lst]
return num_ji
f = calc_prod([1, 2, 3, 4])
print f()
def calc_prod(lst):
def num_ji():
return [math.factorial(x) for x in lst]
return num_ji
f = calc_prod([1, 2, 3, 4])
print f()
2015-03-18
"字符串统一为unicode,不需要加前缀 u,而以字节存储的str则必须加前缀 b"
不管怎样,中文还是不好现实,加u 不加 都报错 Non-ASCII。。。
不管怎样,中文还是不好现实,加u 不加 都报错 Non-ASCII。。。
2015-03-18