# 結構 def 函數名(): 內容 # def : 定義一個函數,def關鍵字後緊跟一個空格 # def 函數名() : 函數名命名方式與變量命名規範一致
# 結構 def 函數名(): 內容 函數名() # 函數名() : 函數的執行 --------------------------------- # 函數的執行寫多少次,執行多少次 lis=[1,2,3,4,5,6,7,8,9] def new_len(): count=0 for i in lis: count+=1 print(count) for i in range(3): new_len() # 執行結果 三次9
return 做用1 : 只能在函數中用,可用於結束函數python
lis=[1,2,3,4,5,6,7,8,9] def new_len(): count=0 for i in lis: count+=1 print("少林") return print("武當") new_len() # 少林
return 做用2 : 給函數的執行者返回具體的值(三種狀況)函數
函數中沒有return或只寫一個return,函數的執行者獲得的是Nonecode
lis=[1,2,3,4,5,6,7,8,9] def new_len(): count=0 for i in lis: count+=1 return print(new_len()) # None
函數中return後跟單個值,則返回這個值,不改變值得類型class
lis=[1,2,3,4,5,6,7,8,9] def new_len(): count=0 for i in lis: count+=1 return [1,2,3,4,5] print(type(new_len())) # <class 'list'>
函數中return後跟多個值,函數的執行者獲得的是一個元組變量
lis=[1,2,3,4,5,6,7,8,9] def new_len(): count=0 for i in lis: count+=1 return [1,2,3,4,5],123,"123" print(type(new_len())) # <class 'tuple'>
定義 : 在函數調用時,那實參的值賦值給形參的過程叫作傳參.擴展
目的 : 函數可擴展性進階
def new_len(a): # 定義函數時的參數:形參 count=0 for i in a: count+=1 return count l1=[1,2,3] s1="dsadsadsadsad" print(new_len(l1)) # 3 函數的調用者參數:實參 print(new_len(s1)) # 13 函數的調用者參數:實參
實參分類(三種)命名
位置參數 : 按照位置爲形參賦值,按照順序一一對應co
def meet(sex,age,job):# 位置參數從左到右,形參與實參按照順序一一對應 print("尋找性別%s,年齡%s歲,工做%s"%(sex,age,job)) meet("女","20-25","老師")
關鍵字參數 : 按照位置爲形參賦值,可不按照順序一一對應命名規範
# 位置參數從左到右,形參與實參可不按照順序一一對應 def meet(sex,job,age): print("尋找性別%s,年齡%s歲,工做%s"%(sex,age,job)) # 這裏要按照順序 meet(job="老師",age="20-25",sex="女")
混合參數
# 關鍵字參數必定要在位置參數後面,一一對應 def meet(job,age,weight,sex): print("尋找性別%s,年齡%s歲,工做%s,體重%s"%(sex,age,job,weight)) # 這裏要按照順序 meet("老師","20-25",sex="女",weight="120")
形參角度(四種)
位置參數 : 與實參角度位置參數一致
默認參數 : 默認參數必定在位置參數後面,不傳參數即沿用默認的參數,更改默認參數能夠用位置或指定的方式更改默認參數.
def meet(job,age,weight,sex="女"): print("尋找性別%s,年齡%s歲,工做%s,體重%s"%(sex,age,job,weight)) # 這裏要按照順序 meet("老師","20-25",weight="120") --------------------------------- # 更改默認參數,第一種 def meet(job,age,weight,sex="女"): print("尋找性別%s,年齡%s歲,工做%s,體重%s"%(sex,age,job,weight)) # 這裏要按照順序 meet("老師","20-25",sex="女",weight="120") # 更改默認參數,第二種 def meet(job,age,weight,sex="女"): print("尋找性別%s,年齡%s歲,工做%s,體重%s"%(sex,age,job,weight)) # 這裏要按照順序 meet("老師","20-25","120","男")
如下兩種函數進階會講到
動態參數
僅限關鍵字參數