def lazy_square(*args): def square(): s=[]
for n in args: trans=s.append(n*n) print('s is :',s) print('trans is :' ,trans) return s return square
f=lazy_square(1,2,3,4) b=f() print(b)
输出为啥是: s is : [1] trans is : None s is : [1, 4] trans is : None s is : [1, 4, 9] trans is : None s is : [1, 4, 9, 16] trans is : None [1, 4, 9, 16]
当然赋值了,append()返回None,赋值为None
谢谢@雪峰老师
Sign in to make a reply
泽林--安静读书
def lazy_square(*args):
def square(): s=[]
f=lazy_square(1,2,3,4) b=f() print(b)
输出为啥是: s is : [1] trans is : None s is : [1, 4] trans is : None s is : [1, 4, 9] trans is : None s is : [1, 4, 9, 16] trans is : None [1, 4, 9, 16]