教小白如何使用Python函數(shù)及模塊?
今天小編要跟大家分享的文章是教小白如何使用Python函數(shù)及模塊?熟悉Python的小伙伴們都知道很多編程語言都支持函數(shù),但是Python對函數(shù)處理與其他編程語言有一個顯著的區(qū)別就是:Python支持函數(shù)的參數(shù)設有默認值。 Python入門新手和正在Python學習的小伙伴快來看一看吧,希望能夠對大家有所幫助 !

函數(shù)
在學習本節(jié)內容之前,我們先來一起做道數(shù)學題。
已知:半徑分別為0.1、0.2、0.3的三個圓,分別求這三個圓的面積。
很多讀者可能要笑一下,這不是小學的數(shù)學問題嗎?
S = π * r * r # 那么 S1 = π * 0.1 * 0.1 S1 = π * 0.2 * 0.2 S1 = π * 0.3 * 0.3
在上面的表達式中,我們做了3次求圓的面積,這樣的代碼實際上就是重復代碼。
對于上面的表達式,我們可以將面積公式封裝到函數(shù)中。在需要計算面積的時候,調用函數(shù)即可。
在Python中可以使用def關鍵字來定義函數(shù),和變量一樣每個函數(shù)也有一個名字,而且命名規(guī)則跟變量的命名規(guī)則是一致的。
在Python中,定義一個函數(shù)要使用def語句,依次寫出函數(shù)名、括號、括號中的參數(shù)和冒號,然后,在縮進塊中編寫函數(shù)體,函數(shù)的返回值用return語句返回。
在了解函數(shù)的定義及作用之后,我們對上述代碼進行重構。重構就是在不影響代碼執(zhí)行結果的前提下對代碼的結構進行調整。
def circle_area(r): S = 3.14 * r * r print('%.4f' %S) circle_area(0.1) circle_area(0.2) circle_area(0.3)
Python對函數(shù)處理與其他編程語言有一個顯著的區(qū)別就是:Python支持函數(shù)的參數(shù)設有默認值。
例如:我們寫一個計算x*x的函數(shù)。
def power(x): return x * x
當我們調用power函數(shù)時,必須傳入有且僅有的一個參數(shù)x。
那么問題來了,如果我們要計算x*x*x怎么辦?你可能會說我們再定義一個新的函數(shù)計算。那要是需要計算x*x*x*x又該怎么辦呢?我們不能無限的定義新函數(shù)。
這個時候,相信聰明的你已經想到了。我們可以將power(x)重新定義為power(x,n)。用來計算x的n次方。
def power(x, n): s = 1 while n > 0: = n - 1 s = s * x return s power(2,5)
這樣我們就可以計算任意n次方。
但是此時我們調用舊函數(shù)就會報錯,原因是我們增加了一個參數(shù),導致舊的代碼因為缺少一個參數(shù)而無法正常調用:
這個時候,Python的默認參數(shù)就派上用場了。
def power(x, n=2): s = 1 while n > 0: = n - 1 s = s * x return s
這樣,當我們調用power(5)時,相當于調用power(5, 2)。
注意:
一是必選參數(shù)在前,默認參數(shù)在后,否則Python的解釋器會報錯(思考一下為什么默認參數(shù)不能放在必選參數(shù)前面)
二是如何設置默認參數(shù)。
當函數(shù)有多個參數(shù)時,把變化大的參數(shù)放前面,變化小的參數(shù)放后面。變化小的參數(shù)就可以作為默認參數(shù)。
使用默認參數(shù)有什么好處?最大的好處是能降低調用函數(shù)的難度。
模塊
相信很多朋友在給函數(shù)、變量命名時都非常糾結。至少我本人是這樣的。因為Python沒有函數(shù)重載的概念,那么我們在一個.py文件中命名了兩個同名函數(shù)應該怎么辦呢?例如:
def test(): print("Good") def test(): print("Bad")test()
我們如何解決這種問題呢?Python引入了模塊的概念。我們可以將這兩個函數(shù)分別寫到不同的文件中,通過import關鍵字進行導入從而引用。
# good.py def test(): print("Good") # bad.py def test(): print("Bad")
當我們想要使用test()函數(shù)時,可以如下:
from good import test # 輸出Good test() #輸出Bad from bad import test test()
但是,下面這種情況,程序會調用最后一個模塊的函數(shù):
from good import test
from bad import test
test()
需要說明的是,如果我們導入的模塊除了定義函數(shù)之外還中有可以執(zhí)行代碼,那么Python解釋器在導入這個模塊時就會執(zhí)行這些代碼,事實上我們可能并不希望如此,因此如果我們在模塊中編寫了執(zhí)行代碼,最好是將這些執(zhí)行代碼放入如下所示的條件中,這樣的話除非直接運行該模塊,if條件下的這些代碼是不會執(zhí)行的,因為只有直接執(zhí)行的模塊的名字才是“\_\_main\_\_”。
通俗的理解就是:當你的腳本文件是被直接運行的時候,則if__name__=='__main__'后的可執(zhí)行代碼就會執(zhí)行,如果你的代碼是被導入的,那么就不會直接運行之后的代碼。
以上就是馬哥教育今天為大家分享的關于教小白如何使用Python函數(shù)及模塊的文章,希望本篇文章能夠對正在 Python學習?和從事Python相關工作的小伙伴們有所幫助,想要了解更多相關知識記得關注馬哥教育官網。最后祝愿小伙伴們工作順利!
聲明:文章來源于網絡,侵刪!