浙江11选5玩任几最好:零基礎Python教程-函數及??櫚氖褂?/h1>

浙江11选5任3遗漏 www.ehxis.com
今天和大家分享一下零基礎浙江11选5任3遗漏中的-函數及??櫚腦擻?,在學習本節內容之前,我們先來一起做道數學題。已知:半徑分別為0.1、0.2、0.3的三個圓,分別求這三個圓的面積。很多讀者可能要笑一下,這不是小學的數學問題嗎?

?函數

 
S = π * r * r
# 那么
S1 = π * 0.1 * 0.1
S1 = π * 0.2 * 0.2
S1 = π * 0.3 * 0.3
在上面的表達式中,我們做了3次求圓的面積,這樣的代碼實際上就是重復代碼。
對于上面的表達式,我們可以將面積公式封裝到函數中。在需要計算面積的時候,調用函數即可。
在Python中可以使用def關鍵字來定義函數,和變量一樣每個函數也有一個名字,而且命名規則跟變量的命名規則是一致的。
在Python中,定義一個函數要使用def語句,依次寫出函數名、括號、括號中的參數和冒號,然后,在縮進塊中編寫函數體,函數的返回值用return語句返回。
在了解函數的定義及作用之后,我們對上述代碼進行重構。重構就是在不影響代碼執行結果的前提下對代碼的結構進行調整。
 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對函數處理與其他編程語言有一個顯著的區別就是:Python支持函數的參數設有默認值。

例如:我們寫一個計算x*x的函數。

def power(x): 
return x * x

當我們調用power函數時,必須傳入有且僅有的一個參數x。

那么問題來了,如果我們要計算x*x*x怎么辦?你可能會說我們再定義一個新的函數計算。那要是需要計算x*x*x*x又該怎么辦呢?我們不能無限的定義新函數。

這個時候,相信聰明的你已經想到了。我們可以將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次方。

但是此時我們調用舊函數就會報錯,原因是我們增加了一個參數,導致舊的代碼因為缺少一個參數而無法正常調用:

這個時候,Python的默認參數就派上用場了。

def power(x, n=2):
s = 1
while n > 0:
= n - 1
s = s * x
return s

這樣,當我們調用power(5)時,相當于調用power(5, 2)。

注意:

一是必選參數在前,默認參數在后,否則Python的解釋器會報錯(思考一下為什么默認參數不能放在必選參數前面)

二是如何設置默認參數。

當函數有多個參數時,把變化大的參數放前面,變化小的參數放后面。變化小的參數就可以作為默認參數。

使用默認參數有什么好處?最大的好處是能降低調用函數的難度。

???/strong>

相信很多朋友在給函數、變量命名時都非常糾結。至少我本人是這樣的。因為Python沒有函數重載的概念,那么我們在一個.py文件中命名了兩個同名函數應該怎么辦呢?例如:

def test():
print("Good")
def test():
print("Bad")test()

我們如何解決這種問題呢?Python引入了??櫚母拍?。我們可以將這兩個函數分別寫到不同的文件中,通過import關鍵字進行導入從而引用。

# good.py 
def test():
print("Good")
# bad.py
def test():
print("Bad")

當我們想要使用test()函數時,可以如下:

from good import test
# 輸出Good
test()
#輸出Bad
from bad import test
test()

但是,下面這種情況,程序會調用最后一個??櫚暮?/p>

from good import test

from bad import test

test()

需要說明的是,如果我們導入的??槌碩ㄒ搴饣怪杏鋅梢災蔥寫?,那么Python解釋器在導入這個??槭本突嶂蔥姓廡┐?,事實上我們可能并不希望如此,因此如果我們在??櫓斜嘈戳酥蔥寫?,最好是將這些執行代碼放入如下所示的條件中,這樣的話除非直接運行該???,if條件下的這些代碼是不會執行的,因為只有直接執行的??櫚拿植攀恰癨_\_main\_\_”。

通俗的理解就是:當你的腳本文件是被直接運行的時候,則if__name__==’__main__’后的可執行代碼就會執行,如果你的代碼是被導入的,那么就不會直接運行之后的代碼。

好了,今天的分享到這里就結束了,希望大家可以持續關注浙江11选5任3遗漏官網,每天都會有大量優質的文章與大家分享歐!免責聲明:內容和圖片源自網絡,版權歸原作者所有,如有侵犯您的原創版權請告知,我們將盡快刪除相關內容。

相關新聞

聯系我們

400-080-6560

在線咨詢:點擊這里給我發消息

郵件:[email protected]

工作時間:周一至周日,09:00-18:30

QR code