python (六)函式
阿新 • • 發佈:2018-12-08
一、函式的形成
需求1:來測試一下‘hello word’ 的長度
# 在沒有函式的時候,我們可以用for迴圈實現 s1 = "hello world" length = 0 for i in s1: length = length+1 print(length)
再增加一個需求2:再來測試一下另外一個字串的長度:‘hello china’
然後需求1和需求2的程式碼就變成下邊這樣
s1 = "hello world" length = 0 for i in s1: length = length+1 print(length) s2 = "hello china" length = 0 for i in s2: length = length+1 print(length)
上邊的程式碼確實可以實現需求,但是有缺點:程式碼重複,可讀性差。 我們將上面的程式碼稱之為面向過程的方式
為了解決這種問題就出現了函式
函式是組織好的,可重複使用的,用來實現單一,或相關聯功能的程式碼段。
二、函式的格式和呼叫
def mylen(): # 定義一個函式mylen
'''計算s1的長度''' s1 = "hello world" length = 0 for i in s1: length= length+1 print(length) mylen() # 函式呼叫
def 關鍵詞開頭,空格之後接函式名稱和圓括號(),最後還有一個":"。 def 是固定的,不能變,他就是定義函式的關鍵字。 空格 為了將def關鍵字和函式名分開,必須空(四聲) 函式名:函式名只能包含字串、下劃線和數字且不能以數字開頭。雖然函式名可以隨便起,但我們給函式起名字還是要儘量簡短,並能表達函式功能 括號:是必須加的 註釋:每一個函式都應該對功能和引數進行相應的說明,應該寫在函式下面第一行。以增強程式碼的可讀性。 呼叫:就是 函式名()
二、函式的返回值
1、什麼是函式的返回值
在使用內建函式len()方法時,得到的結果會賦值給一個變數,然後得到結果:
str_len = len('hello,world') print(str_len)
但是自己寫的這個函式mylen(),並不會得到這樣的結果,如何讓他和len函式一樣,有返回值呢?
那就是在函式的最後加上一個return,return 後面寫你需要的返回值就可以了。
#函式定義 def mylen(): """計算s1的長度""" s1 = "hello world" length = 0 for i in s1: length = length+1 return length #函式呼叫 str_len = mylen() print('str_len : %s'%str_len) return返回值
2、return關鍵字的作用
1、函式中遇到return終止函式。
2、返回值 返回給了函式的呼叫者
3、return返回值的的三種情況
第一種:沒有返回值 返回None
def mylen(): s1 = "hello world" length = 0 for i in s1: length = length+1 str_len = mylen() print(str_len) # 因為沒有返回值,此時的str_len為None
第二種:單個值 返回單個值
第三種:多個值 返回一個由這多個值組成的元組