#前面在定義函數時,有些函數使用了return語句,有些函數沒有使用return語句,使用return語句與不使用return語句有什么區別呢?
#由前面的章節我們知道,若定義函數時沒有使用return語句,則默認返回一個None。要返回一個None,可以只寫一個return,但要返回具體的數值,就需要在return后面加上需要返回的內容。對於函數的定義來說,使用return語句可以向外提供該函數執行的一下結果;對於函數的調用者來說,是否可以使用函數中執行的一些操作結果,就在於函數是否使用return語句返回了對應的執行結果。
#在Python中,有的函數會產生結果(如數學函數),我們稱這種函數為有返回值函數(fruitful function);有的函數執行一些動作后不返回任何值,我們稱這類函數為無返回值函數。
#當我們調用有返回值函數時,可以使用返回的結果做相關操作;當我們使用無返回值函數或返回None的函數時,只能得到一個None值。
#比如定義如下函數並執行:
1 # /usr/bin/python3 2 #!-*-conding:UTF-8 -*- 3 #有返回值和無返回值函數 4 5 def noreturn(): 6 print('noreturn函數不寫return語句') 7 8 def justreturn(): 9 print('justreturn函數只寫return,不返回具體內容') 10 return 11 12 def returnval(): 13 x=10 14 y=20 15 z=x+y 16 print('returnval函數寫return語句,並返回求和的結果。') 17 return z 18 19 print('函數noreturn調用結果:',noreturn()) 20 print('函數justreturn調用結果:',justreturn()) 21 print('函數returnval調用結果:',returnval())
#執行結果如下:
1 noreturn函數不寫return語句 2 函數noreturn調用結果: None 3 justreturn函數只寫return,不返回具體內容 4 函數justreturn調用結果: None 5 returnval函數寫return語句,並返回求和的結果。 6 函數returnval調用結果: 30
#由執行結果看到,定義函數時不寫return或只寫一個return語句返回的都是None。如果寫了返回具體內容,調用函數時就可以獲取具體內容。