sorted = functools.partial(sorted,key=lambda a: a.name.lower())
2020-02-05
第三部分:
@performance('ms')
def factorial(n):
return reduce(lambda x,y: x*y, range(1, n+1))
print factorial.__name__
@performance('ms')
def factorial(n):
return reduce(lambda x,y: x*y, range(1, n+1))
print factorial.__name__
2020-02-05
第二部分:
# 即,当该函数完成后,factorial实际上是__performance函数,
# 只是名字变了
@functools.wraps(f)# 这里复制了factorial的函数名
def __performance(*args, **kw):# 传入factorial修饰前的参数
return
return __performance
return _performance
# 即,当该函数完成后,factorial实际上是__performance函数,
# 只是名字变了
@functools.wraps(f)# 这里复制了factorial的函数名
def __performance(*args, **kw):# 传入factorial修饰前的参数
return
return __performance
return _performance
2020-02-05
本节详解:
第一部分
#coding:utf-8
#上面那一行为了改变编码方式,不然无法运行
import time, functools
def performance(unit):
# 第一层,调用时,传入'ms',
# 返回_performance函数
def _performance(f):
# 第二层,调用时,传入factorial,
# 返回__performance函数,并将其#赋值给factorial
第一部分
#coding:utf-8
#上面那一行为了改变编码方式,不然无法运行
import time, functools
def performance(unit):
# 第一层,调用时,传入'ms',
# 返回_performance函数
def _performance(f):
# 第二层,调用时,传入factorial,
# 返回__performance函数,并将其#赋值给factorial
2020-02-05
这几节内容并不难,恶心的是每一节的代码任务很不清晰,加上小白对于模块的应用两眼一抹黑,不觉得难才怪。这几节很不负责任
2020-02-05
这样就行
def cmp_ignore_case(s1, s2):
if s1.capitalize()==s2.capitalize():
return 0
elif s1.capitalize()>s2.capitalize():
return 1
else:
return -1
print sorted(['bob', 'about', 'Zoo', 'Credit'], cmp_ignore_case)
def cmp_ignore_case(s1, s2):
if s1.capitalize()==s2.capitalize():
return 0
elif s1.capitalize()>s2.capitalize():
return 1
else:
return -1
print sorted(['bob', 'about', 'Zoo', 'Credit'], cmp_ignore_case)
2020-01-31
def func1(x): #用x接收参数一
def func2(f): #用f接受函数main
@functools.wraps(f)
def func3(*args,**kw):
return f() #调用f()把返回值传递给func3
return func3 #func3闭包传递出去
return func2 #同理
@func1(参数一)
def main(a,b,c,...):
return
main(a,b,c,...)
print main.__name__ #输出检验是否修正
def func2(f): #用f接受函数main
@functools.wraps(f)
def func3(*args,**kw):
return f() #调用f()把返回值传递给func3
return func3 #func3闭包传递出去
return func2 #同理
@func1(参数一)
def main(a,b,c,...):
return
main(a,b,c,...)
print main.__name__ #输出检验是否修正
2020-01-30
装饰器基本框架
def func1(fun):
def func2():
return fun()
return func2
@fun1
def main():
return a
main()
装饰器运行思路
1.运行func1(main)
2.创建了func2 ()
3.创建结束后调用main()
4.调用main的输出和返回值保存在func2的返回值中 func2目前未被调用
5.这个时候func(main)运行完毕
6.func(main)的返回值是func2
def func1(fun):
def func2():
return fun()
return func2
@fun1
def main():
return a
main()
装饰器运行思路
1.运行func1(main)
2.创建了func2 ()
3.创建结束后调用main()
4.调用main的输出和返回值保存在func2的返回值中 func2目前未被调用
5.这个时候func(main)运行完毕
6.func(main)的返回值是func2
2020-01-30
说实话可能会被喷。仅仅说我个人感觉,教程每个章节都说的比较简洁,漏了不少知识点,需要自己去查,不然完成不了任务,不过任务题目出的真不错,我感觉其实可以自己看看其他详细的课程,然后来这完成课程就好了。
2020-01-30
最赞回答 / 哆啦D梦3455891
Rational()中第一个参数为运算后的分子,第二个参数为运算后的分母,r1.p/r1.q+r2.p/r2.q将分母化为相同的再计算可得。同理可得-,*,/
2020-01-29
最赞回答 / wo蜗牛niu
斐波那契数列定义:a1=0,a2=1.........an=a(n-1)+a(n-2)def __init__(self, num): # num为数列长度 a, b, L = 0, 1, [] #给a赋初值0,b赋初值1,L创建一个空list 。 for n in range(num): #循环依次生成数列数值 L.append(a) #把生成的数值添加到列表末尾 a, b = b, a + b #将a赋值为b,...
2020-01-29