最赞回答 / 薛定谔与猫
这个其实吧,我觉得不会用到,我们做开发的时候有规范,像这样接收任意参数作为属性,其实不会遇到。因为这样的话每个调用的开发都可能想出各种各样的属性,你根本没有数据规范,甚至说同样意思的属性,也会有五花八门的英语名称,你怎么整理和规范属性呢,取出的时候难道去猜测全部的可能?或者全部遍历出来再写一套程序自动规范?如果那样还不如一开始就在设计类的时候就设计好不是吗?
2019-03-05
最新回答 / DEBUG自习室
def calc_prod(lst): def prod(): j=1 sum = 0 for i in lst: j=i*j sum +=j return j return prodf = calc_prod([1, 2, 3, 4])print (f())需要把每次计算后的值相加得到总和
2019-03-05
import os
print(os.path.isdir(r'/data/webroot/resource/python'))
print (os.path.isfile(r'/data/webroot/resource/python/test.txt'))
print(os.path.isdir(r'/data/webroot/resource/python'))
print (os.path.isfile(r'/data/webroot/resource/python/test.txt'))
2019-03-01
最赞回答 / 一刀meab
这种情况是因为在python3里面,map()的返回值已经不再是list,而是iterators, 所以想要使用,只用将iterator 转换成list 即可.
print(list(map(format_name,['adam', 'LISA', 'barT'])))
2019-02-28
def calc_prod(lst):
def lazy_prod():
def f(x,y):
return x*y
return reduce(f,lst)
return lazy_prod
f = calc_prod([1, 2, 3, 4])
print f()
def lazy_prod():
def f(x,y):
return x*y
return reduce(f,lst)
return lazy_prod
f = calc_prod([1, 2, 3, 4])
print f()
2019-02-28
def prod(x, y):
return x*y
print reduce(prod, [2, 4, 5, 7, 12])
return x*y
print reduce(prod, [2, 4, 5, 7, 12])
2019-02-28
def format_name(s):
return s.title()
print map(format_name, ['adam', 'LISA', 'barT'])
return s.title()
print map(format_name, ['adam', 'LISA', 'barT'])
2019-02-28
这里计算的时间差,其实是在高阶函数里的时间差。
1. 调用装饰器
2. 进入装饰器,调用高阶函数
3. 计时t1,执行常规函数,计时t2,执行print命令,返回常规函数
4. 调用常规函数
对于我来说,难点在于r = f(*args, **kw)这一步
1. 调用装饰器
2. 进入装饰器,调用高阶函数
3. 计时t1,执行常规函数,计时t2,执行print命令,返回常规函数
4. 调用常规函数
对于我来说,难点在于r = f(*args, **kw)这一步
2019-02-27
已采纳回答 / Dianepure_
f1=f(1) 没有意义,你即使把for循环去掉,一样是这个结果 ,这是你赋初值产生的结果。这一节课程里讲的不太清楚,我最开始也云里雾里了半天,最后突然意识到,return的函数实质是一个值,该值就是 被返回函数的物理地址,你按照这个逻辑来理解,就解释的通了。
2019-02-27