不太理解return,它返回的是一个值还是什么?
#coding=utf-8
def square_of_sum(L):
for i in L:
print i*i
print square_of_sum([1, 2, 3, 4, 5])
print square_of_sum([-5, 0, 5, 15, 25])
这里我打印后总会有个none在里面,能不打印出来吗?
帮忙解释一下return的作用是什么,返回的是什么?
#coding=utf-8
def square_of_sum(L):
for i in L:
print i*i
print square_of_sum([1, 2, 3, 4, 5])
print square_of_sum([-5, 0, 5, 15, 25])
这里我打印后总会有个none在里面,能不打印出来吗?
帮忙解释一下return的作用是什么,返回的是什么?
2017-01-10
①通俗一点说是这样的啦。函数这种必须要有return的,执行完函数就要返回(return)一个值,你可以理解为执行了要有结果。如果你没有写,那系统默认是return None。你之所以会有None的出现时因为你的square_of_sum(L)函数没有写return,所以在执行完for循环语句输出(print)每一个L里的数的平方值后这个函数就到了返回(return),因为你没有写return,所以默认返回None。详细请查看7-3的教程。
②你这样写函数是错的,你应该把函数返回的值用return语句表达出来,而不是print出来。像这样:
def square_of_sum(L):
sum = 0
for x in L:
sum = sum + x * x
return sum #执行函数后返回sum的值
print square_of_sum([1, 2, 3, 4, 5]) #调用函数,实参传给形参执行后就执行return sum也就是返回sum的值
print square_of_sum([-5, 0, 5, 15, 25])
祝学习愉快哟~
举报