def performance(f):
def fn(x):
t1 = time.time()
r = f(x)
t2 = time.time()
print 'call %s() in %fs' % (f.__name__, (t2 - t1))
return r
return fn
@performance
def factorial(n):
return reduce(lambda x,y: x*y, range(1, n+1))
print factorial(10)
def fn(x):
t1 = time.time()
r = f(x)
t2 = time.time()
print 'call %s() in %fs' % (f.__name__, (t2 - t1))
return r
return fn
@performance
def factorial(n):
return reduce(lambda x,y: x*y, range(1, n+1))
print factorial(10)
2017-10-16
也就是说 json.load函数中已经调用了read() 。s表示的是定义Students的一个实例,json.load(s)当然就是指的调用Students中的read()方法,返回那三个字符串了。
2017-10-16
仔细理解一下 这两段话 由于Python是动态语言,所以,传递给函数 who_am_i(x)的参数 x 不一定是 Person 或 Person 的子类型。任何数据类型的实例都可以,只要它有一个whoAmI()的方法即可:
由于Python的动态特性,json.load()并不一定要从一个File对象读取内容。任何对象,只要有read()方法,就称为File-like Object,都可以传给json.load()。
由于Python的动态特性,json.load()并不一定要从一个File对象读取内容。任何对象,只要有read()方法,就称为File-like Object,都可以传给json.load()。
2017-10-16
好多人是不是对动态语言还有静态语言不是很了解,静态语言指的是变量在编译时就已经确定好数据类型的一类语言,动态语言是指变量在运行时才会确定数据类型的语言,使用之前不需要强制定义。有个简介明了的文章,我搜出来的。。。。。 http://blog.csdn.net/suchang1127/article/details/49299527
2017-10-16
def count():
fs = []
for i in range(1, 4):
def f(i):
return i*i
fs.append(f(i))
return fs
f1, f2, f3 = count()
print(f1,f2,f3)
fs = []
for i in range(1, 4):
def f(i):
return i*i
fs.append(f(i))
return fs
f1, f2, f3 = count()
print(f1,f2,f3)
2017-10-16
py3 中还要加list,.....print(list( filter(is_sqr, range(1, 101)))
2017-10-16
def calc_prod(lst):
def lazy_prod():
prod=lst[0]
for i in range(1,len(lst)):
prod*=lst[i]
return prod
return lazy_prod
f = calc_prod([1, 2, 3, 4])
print f()
def lazy_prod():
prod=lst[0]
for i in range(1,len(lst)):
prod*=lst[i]
return prod
return lazy_prod
f = calc_prod([1, 2, 3, 4])
print f()
2017-10-15
import os
print os.path.isdir(r'/data/webroot')
print os.path.isfile(r'/data/webroot/resource/python/test.txt')
print os.path.isdir(r'/data/webroot')
print os.path.isfile(r'/data/webroot/resource/python/test.txt')
2017-10-15