此函式非數學中的函式。
簡單理解,函式就是一種快捷方式,用於快捷指向一段**。這段**用於完成一項或幾項功能!
比如我們前面用到過的 print() 函式,用於將內容列印出來;還比如在字串、列表中都用到的len()函式,用於計算字串或列表的元素個數。
使用函式,可以提高**的復用。如果同一段**,在很多地方需要用到,就可以編寫乙個函式,在需要的時候使用函式呼叫即可。比如我們做測試的,在編寫自動化**的時候,很多地方都需要用到登入這個操作,那麼可以把登入的過程編寫成乙個函式。
使用函式,函式將內部的實現封裝起來。如果僅僅作為使用者,不用關注函式內部的實現,只需要知道該函式如何使用即可。也就是知道函式使用的時候需要什麼引數,返回的結果是什麼樣子就能使用這個函式。
比如我們之前用到的 print() 和 input() 這兩個函式,就是用來處理輸入輸出的,還有 len() 函式,用來計算序列的長度。
要寫乙個函式並且使用這個函式執行某個功能分為如下兩步:
python 中使用def
關鍵字定義乙個函式:
def 函式名(引數1,引數2..
.引數n):
函式體 # 即函式呼叫時執行的語句塊
return 返回值
例如:
實現乙個自然數累加的函式,傳入乙個自然數 n, 返回 1+2+3+…+n 的結果
def
natural_add
(n):
# 定義函式名為natural_add, 引數只有乙個就是傳入的自然數 n
a =0for i in
range
(n+1):
# 實現 1 到 n 的累加
a += i
return a # 通過 return 語句返回想要的結果
那麼如上的 natural_add() 就是我們宣告的函式,用來計算自然數 n 的累加並返回結果。只要你以後想要計算任何自然數的累加都可以使用此函式來實現了,而不用每個地方都去寫這段**。
通過上一小節,我們知道了如何寫乙個函式,那麼接下來如何呼叫乙個函式,並使用函式返回的結果呢?
比如,我現在想計算 20 以內和 100 以內的累加,如何使用上面定義的自然數累加的函式呢?寫出函式名並在括號中傳入實際的值即可。
# 呼叫自然數累加的函式並計算20以內的累加
natural_add(20)
# 呼叫時直接寫函式名,括號中傳入實際的值
# 使用變數儲存函式呼叫的結果並列印
result = natural_add(
100)
print
(result)
# 這裡的result就是100累加的結果
# 5050
函式中的 return 語句用來返回函式的執行過程中需要提供給外部使用的值(大部分情況是函式執行的結果,但也有可能是中間結果,主要取決於哪些值需要提供給函式呼叫後的**使用 )。
當然也不是必須的,如果你沒有需要返回的值,那麼可以不寫 return 語句,這種情況會預設丟擲none
作為返回值。
如果一旦寫了 return 語句,一定要注意 return 語句的位置,因為一旦函式執行過程中遇到 return 語句就會退出函式,函式中後續的**就不會再執行了。
def
test()
:return
print
(110
)
執行上面的**你會發現,print(110)並不會執行。這是因為上一句 return 已經結束了函式。
當 return 後面什麼值都沒有的時候,意味著這是為了結束函式使用的。
def
login
(user, pwd):if
not(user or pwd)
:print
('未輸入賬號或密碼!'
)return
# 如果賬號密碼不匹配直接退出函式
elif user !=
'admin'
or pwd !=
'123'
:pass
# 後續處理省略
return 可以返回乙個變數,也可以返回乙個具體的值。 Shell 極簡教程
vim hello world.sh bin bash echo hello world chmod x sh hello world.sh hello,world bin bash echo hello,world a 1b expr a 1 echo b注意,變數名和等號之間不能有空格,這可能和...
crontab極簡教程
toc crontab簡介 linux crontab是用來定期執行程式的命令。當安裝完成作業系統之後,預設便會啟動此任務排程命令。crontab常用命令 crontab e 開啟vi編輯器,編寫乙個定時任務,退出vi後,若vi內容不為空,則會建立乙個任務。crontab l 檢視當前已經建立的定時...
crontab極簡教程
目錄linux crontab是用來定期執行程式的命令。當安裝完成作業系統之後,預設便會啟動此任務排程命令。建立兩個定時任務。第乙個,一分鐘執行一次,使用echo輸出一串字元 第二個,兩分鐘執行一次,使用echo輸出另一串字元。在linux 的shell 中輸入crontab e 命令 echo o...