Python學習筆記函數之返回值和return語句


隨筆記錄方便自己和同路人查閱。

#------------------------------------------------我是可恥的分割線-------------------------------------------

  如果調用len()函數,並向它傳入向'Hello'這樣的參數,函數調用就求值為整數5。這是傳入的字符串的長度。一般來說,函數調用

求值的結果,稱為函數的“返回值”。

  用def語句創建函數時,可以用return語句指定應該返回什么值。return語句包含以下部分:

  (1)return關鍵字

  (2)函數應該的值或表達式

  如果在return語句中使用了表達式,返回值就是該表達式求值的結果。

#------------------------------------------------我是可恥的分割線-------------------------------------------

  例如,下面的程序定義了一個函數,它根據傳入的數字參數,返回一個不同的字符串。在文件編輯器中輸入一下代碼,

並保存為magic8Ball.py:

 1 #
 2 # -*- coding:utf-8 -*-
 3 # Autor: Li Rong Yang
 4 import random
 5 
 6 def getAnswer(answerNumber):
 7     if answerNumber == 1:
 8         return 'It is certain'
 9     elif answerNumber == 2:
10         return 'It is decidedly so'
11     elif answerNumber == 3:
12         return 'Yes'
13     elif answerNumber == 4:
14         return 'Reply hazy try again'
15     elif answerNumber == 5:
16         return 'Ask again later'
17     elif answerNumber == 6:
18         return 'Concentrate and ask again'
19     elif answerNumber == 7:
20         return 'My reply is no'
21     elif answerNumber == 8:
22         return 'Outlook not so good'
23     elif answerNumber == 9:
24         return 'Very doubtful'
25 
26 r = random.randint(1,9)
27 fortune = getAnswer(r)
28 print(fortune)
29     
View Code

  運行結果:

 

   在這個程序開始時,Python首先導入random模塊。然后getAnswer()函數被定義。因為函數是被定義(而不是被調用),所以執行會跳過其中的代碼。接下來,

random.randint()函數被調用,帶兩個參數1和9。它求值為1和9之間的一個隨機整數(包括1和9),這個值被存在一個名為r的變量中。

  getAnswer()函數被調用,以r作為參數。程序執行轉移到getAnswer()函數的頂部,r的值被保存到名為answerNumber的變元中。然后,根據answerNumber中

的值,函數返回許多可能字符串中的一個。程序執行返回到程序底部的代碼行,即原來調用getAnswer()的地方。返回的字符串被賦給一個名為fortune變量,然后它

又被傳遞給print()調用,並被打印在屏幕上。

  請注意,因為可以將返回值作為參數傳遞給另一個函數調用,所以你可以將下面3行代碼

r = random.randint(1,9)
fortune = getAnswer(r)
print(fortune)

  縮寫成一行等價的代碼:

print(getAnswer(random.randint(1,9)))

  記住,表達式是值和操作符的組合。函數調用可以用在表達式中,因為它求值為它的返回值。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM