1. 程式人生 > >python (六)函式

python (六)函式

一、函式的形成

  需求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

 

第二種:單個值  返回單個值

 

第三種:多個值  返回一個由這多個值組成的元組