不太理解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
舉報
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])
祝學習愉快喲~
2017-01-10
print 是輸出語句,return 是返回值,比如 return print i*i