一. 什麼是函數微信
到這裏不少人都懵住了什麼是函數???Python函數其實就是,組織好的,可重複使用的,用來實現單一,或相關聯功能的代碼段。函數能提升應用的模塊性,和代碼的重複利用率。你已經知道Python提供了許多內建函數,好比print()。但你也能夠本身建立函數,這被叫作用戶自定義函數,函數是對功能的封裝!!!函數
二. 函數的定義, 函數名, 函數體以及函數的調用
spa
語法:code
def 函數名(形參列表):blog
函數體(代碼塊,return) #return爲返回值的意思微博
函數名(實參列表) #調用函數的意思class
那麼咱們來定義一首詩的功能:咱們使用del關鍵字來定義函數,函數的定義語法以下變量
1 def Shi(): #使用del定義一個函數 2 3 print("牀前明月光") 4 print("疑是地上霜") 5 print("舉頭望明月") 6 print("低頭思故鄉")
定義完了,可是這個時候去執行程序你會發現什麼也沒有發生,由於咱們只是定義了函數可是尚未執行這個函數.語法
函數的調用:使用函數名能夠調用函數,程序
寫法:
函數名()
這個時候函數體纔會給執行
1 Shi() #調用Shi函數 2 3 結果: 4 牀前明月光 5 疑是地上霜 6 舉頭望明月 7 低頭思故鄉
三. 函數的返回值
1.遇到return,此函數結束,函數後面的東西就會不執行
2.return返回值
return : 在函數執行的時候. 若是遇到return. 直接返回
若是函數什麼都不寫, 不寫return, 沒有返回值. 獲得的是None
在函數中間或者末尾寫return, 返回的是None
在函數中寫return 值. 返回一個值.
在函數中能夠返回多個返回值, return 值1, 值2, 值3...., 接收的是元組
3.關於返回值
若是return什麼也不用寫或者不寫return,那麼返回的就是None
若是return後面寫了一個值,則調用者能夠接收一個結果
若是return後面寫了多個結果,則調用者能夠接收到的是tuple(元組),調用者能夠直接構結成多個變量
1.函數中遇到return,此函數就會結束,不能再繼續執行
1 def Shi(): #定義一個函數 2 print("牀前明月光") 3 print("疑是地上霜") 4 return 5 print("舉頭望明月") #這句話後面的都會不給執行 6 print("低頭思故鄉")
2.return返回值給函數的調用者一個訪問結果
1 def shi(): #定於一個函數 2 print("牀前明月光") 3 print("疑是地上霜") 4 print("舉頭望明月") 5 print("低頭思故鄉") 6 return '運行結束' #返回值 7 jieshu = shi() 8 print(jieshu) #運行結束
函數的返回值能夠是多個結果返回的是元組
1 return '運行結束','hello'
四.函數的參數
參數,函數在調用的時候指定具體的一個變量的值,這就是所謂的參數,
函數執行的時候給函數傳遞信息.
形參:函數聲明的位置的變量
實參:函數調用的時候給的具體的值
傳參:把實參交給形參的過程
語法:
def 函數名(參數列表):
函數體
實操,需求:拿出手機想打開什麼應用就打開什麼應用,
1 def dakai(ruanjian): 2 print ('拿出手機') 3 print('打開:',ruanjian) 4 dakai('微信') 5 dakai('QQ') 6 dakai('微博') 7 結果; 8 拿出手機 9 打開: 微信 10 拿出手機 11 打開: QQ 12 拿出手機 13 打開: 微博
nice!搞定了是否是和很棒?,咱們在調用dakai的時候給ruanjian一個值,而後再執行函數體,
參數分爲:
1.形參,寫在函數聲明的位置叫作形參,形式上的一個完整,表示這個函數須要幹嗎幹嗎。。。
1. 位置參數
2. 默認值參數 先位置後默認值
1 dakai(ruanjian): #括號裏的爲形參,(ruanjian)
2.實參,在函數調用的時候給函數傳遞的值,叫實參,即實際參數,實際執行的時候給函數傳遞的信息,表示叫函數幹啥幹啥幹啥。。。
1. 位置參數, 按照形參的參數位置, 給形參傳值
2. 關鍵字參數, 按照形參的名字給形參傳值
3. 混合參數. 即用位置參數, 也用關鍵參數
1 dakai('微信') #括號裏的爲實參('微信')
3.傳參,給函數傳遞信息的時候將實際參數交給形式參數的過程稱爲傳參
1 def dakai(ruanjian): #ruanjian爲形參 2 print ('拿出手機') 3 print('打開:',ruanjian) 4 dakai('微信') #實參 5 print('關閉') #這裏也表明實參
參數的分類:
1.位置參數
位置參數,意思就是按照位置來賦值的參數叫作位置參數,
1 #需求,錄入班級學生基本信息,基本信息有,名字,年齡,性別 2 def xue_sheng_xin_xi(name,age,sex): #定義一個函數,形參有name.age,sex 3 print('請錄入學生信息:') 4 print(name,age,sex) 5 xue_sheng_xin_xi('小明', '20', '女') #實參
缺點:若是位置輸錯了的話信息也會跟着錯,必需要按照形參的位置來輸入信息
2.關鍵字參數
關鍵字參數,利用關鍵字定義的參數,只要記住每一個參數的名字就OK了
1 def xue_sheng_xin_xi(name,age,sex): 2 print('請錄入學生信息') 3 print(name,age,sex) 4 xue_sheng_xin_xi(sex='女',name='YJ',age= '19') #關鍵字參數 5 結果爲: 6 請錄入學生信息 7 YJ 19 女
優勢,不管順序怎樣掉亂最後輸出都是正確的排列
3.混合參數
1 def xin_xi(name,age=18,diqu="廣東"): #默認指定了年齡跟地區 2 print('請錄信息') 3 print(name,age,diqu) 4 xin_xi (diqu='北京',name='YJ',age= '19') #混合參數,地區跟年齡已經指定了如今還能改 5 結果爲:YJ 19 北京
也就是說在調用函數的時候既能夠給出位置參數,也能夠指定關鍵字參數
4.默認值參數,在函數聲明的時候,就能夠給出的參數的默認值,在調用的時候能夠給出具體的值,也能夠不給值使用默認值。
需求:在錄入信息的時候,發現大部分爲男生,在錄入時若是是男生sex就使用默認值
1 def xin_xi_biao(name,age,sex='男'): 2 print('請錄入信息') 3 print(name,age,sex) 4 xin_xi_biao('小強',19) 5 xin_xi_biao('小花',19,sex= '女') 6 結果: 7 請錄入信息 8 小強 19 男 9 請錄入信息 10 小花 19 女
注意:必須聲明位置參數才能聲明默認參數
2019年11月7日