
请问我的python函数为什么要加return才能正常输出?
展开全部
因为name这个变量的作用域只在 make_great这个函数的范围内。而不在tt所在的大的函数范围内。一旦make_great这个函数结束了,name这个变量就会被销毁而传递不出makegreat这个函数。这是为什么第一种情况你得到了none。
因此需要使用return对你想在makegreat函数局部变量被销毁之后继续使用的变量的值进行拷贝,有点绕666。保存拷贝下来的值不被销毁,而赋给tt使用。这是为什么要使用return。
因此需要使用return对你想在makegreat函数局部变量被销毁之后继续使用的变量的值进行拷贝,有点绕666。保存拷贝下来的值不被销毁,而赋给tt使用。这是为什么要使用return。
展开全部
因为你是tt=make_great(magicians[:])这样调用make_great函数的,要求make_great函数有返回值,所以加上return names,才能把names的值返回给tt,这样才能使tt有值,从而打印出来.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
列表切片是创建了个新的list并复制了一遍,不用切片就好了,对比一下:
def f(lst):
lst[0] = 'new'
lst = ['old']
f(lst)
# f(lst[:])
print(lst) # new
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |