學習總結-《父與子的編程之旅》chapter 13


“要把程序分解成較小的部分,主要有 3 種方法。函數(function)就像是代碼的 積木,可以反復地使用。利用對象(object),可以把程序中的各部分描述為自包含 的單元。模塊(module)就是包含程序各部分的單獨的文件。”本章主要學習 函數。

13.1 函數——積木

函數就是可以完成某個 工作的代碼塊,創建或定義函數要使用 Python 的 def關鍵 字。然后可以利用函數名來使用或調用這個函數。

13.2 調用函數

調用函數時要使用函數名和一對括號。

13.3 向函數傳遞參數

調用函數時,我們把參數放在括號里,通過這種方式將參數傳入函數。

def printMyAddress(myName):    
    print myName                    
    print "123 Main Street"  
    print "Ottawa, Ontario", Canada                 
    print "K2M 2E9"                         
    print                    

printMyAddress("Carter Sande")

函數運行時,變量 myName 會填入調用函數時為它傳入的任何參數。

13.4 有多個參數的函數

函數完全可以有多個參數。如果你的函數有超過 5 到 6 個參數,可能就應該考慮采用別的做法了。一種做法是把所有參數收集到一個列表中,然后把這個列表傳遞到函數。

13.5 返回值的函數

從函數返回的值稱為結果(result)或返回值(return value)。
要讓函數返回一個值,需要在函數中使用 Python 關鍵字 return。使用表達式的任何地方都可以使用函數來返回值。可以把返回值賦給一個變量 ,也可以在另一個表達式中使用,或者打印出來,對返回值也可以不做任何處理。

13.6 變量作用域

Python在函數運行時會創建新的名字在函數內使用,當函數完成時會把他們刪除。函數運行結束時,其中的 所有名字都不再存在。
- 局部變量
變量 只在函數內使用,這也稱為這些變量是局部的 (local)。 試圖在這個函數之外打印值時就會得到一個錯誤。
- 全局變量
使用全局變量(global)表示有更大作用域的變量。我們可以在程序的 任何地方使用這些變量,所以把它們稱作全局變量(global variable)。可以從函數內打印一個全局變量,只要不試圖改變它。 如果函數的任何部分試圖改變這個變量,Python會創建一個新的局部變量。

13.7 強制為全局

如果試圖從函數內改變一個全局變量的值,Python會創建一個新的全局變量。這是為了防止函數無意地改變全局變量。

def calculateTax(price,tax_rate):
    global my_price

如果使用 global 關鍵字,Python 不會建立名為 my_price 的局部變量,而是 會使用名為 my_price 的全局變量。另外,如果還沒有名為 my_price 的全局變量, Python 就會創建一個。

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

對全局變量和局部變量盡量不要使用相同的變量名。


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com