1. 程式人生 > >13 python初學(函式)

13 python初學(函式)

函式:

  1. 概念:函式是指將一組語句的集合通過一個名字(函式名)封裝起來,要想執行這個函式,只需呼叫其函式名即可
  2. 建立: def
  3. 函式名命名規範: a. 必須以下劃線或字母開頭 b. 區分大小寫 c.不能是保留字
  4. 引數(形參和實參):呼叫時傳的引數是實參,方法裡寫的接收的變數是形參

必備引數:

# name,age 是必備引數;呼叫此函式時必須按順序傳入值。
def print_info(name, age):

 

關鍵字引數:

# 呼叫函式時可以不按順序傳入引數,但必須說明關鍵字
print_info(age=17, name='su'
)

 

預設引數:

# 宣告引數時指定一個預設值:sex='female',這樣在呼叫該函式時如果不傳引數值就會使用預設值。預設引數必須放在所有引數後面(不包括不定長引數)
# 預設引數後面如果跟了不定長引數,那麼會先把第一個引數值給預設引數
def print_info(name, age, sex='female'): pass print_info('lily', 18) # 指定預設性別為女 print_info('xiaoming', 18, 'male') #傳入引數:性別為男

 

不定長引數:

 

 

# 不定長引數有兩種:一種是不會給傳入的引數命名,第二種是傳入的引數有命名。 *args 放左邊, **kwargs 放右邊

# 第一種
def add(*args):   # 不定長引數一,*args不會給傳入的引數命名,宣告時不會命名
    print(args)
    sum = 0
    for i in args:  # args = (1, 2, 3, 4, 5),元組型別
        sum += i
    print(sum)

add(1, 2, 3, 4, 5)

#第二種: **kwargs 來接收超出的命名引數,是一個字典型別
def print_info(name, age, **kwargs): print(kwargs) print('name: %s' % name) print('age is: %d'% age) for i in kwargs: print('%s: %s' % (i, kwargs[i])) print_info('lily', 18, sex='female', locate='beijing',)

 

 

5. return:

6. 定義域:

7. 作用: a.減少重複程式碼 b. 方便修改,便於擴充套件 c. 保持程式碼一致性