Discuss / Python / 有一个疑问:trans为何不能被赋值?

有一个疑问:trans为何不能被赋值?

Topic source

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]

廖雪峰

#2 Created at ... [Delete] [Delete and Lock User]

当然赋值了,append()返回None,赋值为None

谢谢@雪峰老师


  • 1

Reply