【Python全棧筆記】03 [模塊二] 16-17 Oct 函數

定義一個函數html

def function_name(形式參數):python

  代碼塊函數

  return 'Value' #若是沒有寫return,則默認返回Noneui

  # 一個函數到return這一行就結束執行了,在return後面寫的東西不執行spa

 

function_name(實際參數)  # 只有call這個函數的時候纔會執行函數裏面的代碼code

 

函數把功能提取了出來,提升效率減小代碼量htm

定義函數的時候,參數能夠有不止一個,能夠是普通參數,默認參數,動態參數。默認參數放在普通參數後面,動態參數放在最後面。blog

輸入實際參數的時候按照形式參數順序依次寫入,若是不按照順序,則須要把參數名加上寫入。io

默認參數能夠有默認值,輸入實際參數的時候能夠覆蓋默認值。ast

動態參數一般寫爲'*args'和'**kwargs'兩顆星號的放在後面,一顆星的參數算做一個tuple, 兩顆星的算做一個dict。

函數外部的變量爲全局變量,函數裏面是局部變量,python內置的爲內置變量。遵循local > global> built-in 的變量查找順序。

爲了便於區分,全局變量用全大寫。在函數內若是須要使用全局變量,須要在變量前加上global。 

 1 def top_movies(num=5, *args, **kwargs):
 2     print(num)
 3     print(args)
 4     print(kwargs)
 5 
 6 rank = (0, 1, 2, 3, 4, 5)
 7 keywords = { '1': 'The Shawshank Redemption', '2':'Fight Club', '3':'Toy Stories', '4':'Radio Rock', '5':'Fantastic Mr. Fox'}
 8 
 9 top_movies(*rank, **keywords)
10 
11 '''
12 運行後獲得結果:
13  0
14 (1, 2, 3, 4, 5)
15 {'1': 'The Shawshank Redemption', '5': 'Fantastic Mr. Fox', '2': 'Fight Club', '3': 'Toy Stories', '4': 'Radio Rock'}
16 參數第一個數字默認爲num, 雖然是在rank這個tuple裏面,剩餘的幾位爲args,最後爲kwargs。可見是嚴格按照指定參數順序來的。
17 若是不在實參前加上'*'和'**',輸入的參數會默認爲實際參數的第一個值。 
18 '''

 

Reference:

想不起來說了什麼內容的時候,參考一下老師的教學筆記 

http://www.cnblogs.com/wupeiqi/articles/5453708.html

相關文章
相關標籤/搜索