函式和常用模組【day04】:函式介紹(一)
阿新 • • 發佈:2018-11-01
本節內容
1、函式介紹
2、函式定義
3、為什麼要使用函式
一、介紹
在我們以往的學習程式設計的過程當中,碰到的最多的兩張程式設計方式或者說程式設計方法:面向過程和麵向物件。其實不管是哪一種,其實都是程式設計的方法論而已。但是現在有一種更古老的程式設計方式:函數語言程式設計,以它的不儲存的狀態,不修改變數等特性,重新進入我們的視野。
面向物件 --->類 ---->class
面向過程 --->過程--->def
函數語言程式設計-->函式--->def
二、函式定義
我們上初中那會也學過函式,即:y=2x,說白了,這裡面總共就兩個變數x和y,x是自變數,y是因變數(因為x變而變),y是x的函式。自變數的取值範圍,叫做這個函式的定義域。
說了這麼多,我們還是來講講,程式設計中的函式定義吧!!!
1、函式定義:
def test(): "the funcation details" print("in the test funcation") return 0 def #定義函式的關鍵字 test #函式名 () #定義形參,我這邊沒有定義。如果定義的話,可以寫成:def test(x): 其中x就是形式引數 "the funcation details" # 文件描述(非必要,但是強烈建議你為你的函式新增詳細資訊,方便別人閱讀) print #泛指程式碼塊或者程式邏輯處理 return #定義返回值
2、過程定義:
#定義過程 def test_2(): "the funcation details" print("in the test funcation")
3、兩者比較:
#定義函式 def test_1(): "the funcation details" print("in the test funcation") return 0 #定義過程 def test_2(): "the funcation details" print("in the test funcation") a = test_1() b = test_2() print(a) print(b) #輸出 in the test funcation in the test funcation #輸出返回值 0 #沒有return ,返回為空 None
小結:不難看出,函式和過程其實在python中沒有過多的界限,當有return時,則輸出返回值,當沒有return,則返回None
三、使用函式原因
至此、我們已經瞭解了函式,但是我們為啥要用函式啊,我覺的我們以前的那種寫法挺好的呀!其實不然,我給使用函式總結 了兩點好處:
程式碼重複利用
可擴充套件性
保持一致性
1、程式碼重複利用
我們平時寫程式碼的時候,最討厭的就是寫重複程式碼,這個無疑是增加我們的工作量,所以程式碼重用性是非常有必要的。下面我們就舉個簡單的例子吧,使用函式和不使用函式的區別。
①優化前
while True: if cpu利用率 > 90%: #傳送郵件提醒 連線郵箱伺服器 傳送郵件 關閉連線 if 硬碟使用空間 > 90%: #傳送郵件提醒 連線郵箱伺服器 傳送郵件 關閉連線 if 記憶體佔用 > 80%: #傳送郵件提醒 連線郵箱伺服器 傳送郵件 關閉連線
那麼假設有n個函式,我們是不是也要拷貝n次吶?於是,我們就誕生了下面的方法
②優化後
def 傳送郵件(內容) #傳送郵件提醒 連線郵箱伺服器 傳送郵件 關閉連線 while True: if cpu利用率 > 90%: 傳送郵件('CPU報警') if 硬碟使用空間 > 90%: 傳送郵件('硬碟報警') if 記憶體佔用 > 80%:
2、可擴充套件,程式碼保持一致性
def 傳送郵件(內容) #傳送郵件提醒 連線郵箱伺服器 傳送郵件 關閉連線 while True: if cpu利用率 > 90%: 傳送郵件('CPU報警') if 硬碟使用空間 > 90%: 傳送郵件('硬碟報警') if 記憶體佔用 > 80%:
注:如果遇到程式碼邏輯變了,用以前拷貝n次的方法,那什麼時候拷貝完啊,而且中間有遺漏怎麼辦,如果用了函式,我們只需要改這個函式的邏輯即可,不用改其他任何地方。