讀古今文學網 > 父與子的編程之旅:與小卡特一起學Python > 13.8 關於變量命名的一點建議 >

13.8 關於變量命名的一點建議

在前面的幾節中已經看到,可以對全局變量和局部變量使用相同的變量名。Python 會在需要時自動創建新的局部變量,或者也可以用 global 關鍵字阻止它創建。不過,我強烈建議你不要重複使用變量名。

你可能已經從一些例子中注意到,往往很難知道一個變量是局部的還是全局的,這讓代碼更加混亂,因為存在同名的不同變量。而且,只要有混亂,錯誤就會乘虛而入。

所以對目前的狀況來說,建議你對局部變量和全局變量使用不同的名字。這樣就不會有混亂,也能把錯誤拒之門外。

你學到了什麼

在這一章,你學到了以下內容。

  • 什麼是函數。

  • 什麼是參數(argument 或 parameter)。

  • 如何向函數傳遞一個參數。

  • 如何向函數傳遞多個參數。

  • 如何讓函數向調用者返回一個值。

  • 變量作用域是什麼,什麼是局部變量和全局變量。

  • 如何在函數中使用全局變量。

測試題

1. 使用哪個關鍵字來創建函數?

2. 如何調用函數?

3. 如何向函數傳遞信息(參數)?

4. 函數最多可以有多少個參數?

5. 如何從函數返回信息?

6. 函數運行結束後,函數中的局部變量會發生什麼?

動手試一試

1. 編寫一個函數,用大寫字母打印你的名字,就像這樣:

  CCCC       A       RRRRR  TTTTTTT  EEEEEE  RRRRR C    C     A A      R    R    T     E       R    RC  A   A     R    R    T     EEEE    R    RC AAAAAAA    RRRRR     T     E       RRRRR C    C  A       A   R    R    T     E       R    R  CCCC  A A  R     R   T     EEEEEE  R     R  

編寫一個程序多次調用這個函數。

2. 建立一個函數,可以打印全世界任何人名、地址、街道、城市、州或省、郵政編碼和國家。(提示:這需要 7 個參數。可以把它們作為單獨的參數傳入,也可以作為一個列表。)

3. 嘗試使用代碼清單 13-7 的例子,不過要求 my_price 是全局變量,以便看到結果輸出有什麼區別。

4. 編寫一個函數計算零錢的總面值,包括五分幣、二分幣和一分幣(類似於第 5 章中最後一個「動手試一試」問題)。函數應當返回這些硬幣的總面值。然後編寫一個程序調用這個函數。程序運行時應當得到類似下面的輸出:

quarters: 3dimes: 6nickels: 7pennies: 2total is $1.72