一. 什么是函數
到這里很多人都懵住了什么是函數???Python函數其實就是,組織好的,可重復使用的,用來實現單一,或相關聯功能的代碼段。函數能提高應用的模塊性,和代碼的重復利用率。你已經知道Python提供了許多內建函數,比如print()。但你也可以自己創建函數,這被叫做用戶自定義函數,函數是對功能的封裝!!!
二. 函數的定義, 函數名, 函數體以及函數的調用
語法:
def 函數名(形參列表):
函數體(代碼塊,return) #return為返回值的意思
函數名(實參列表) #調用函數的意思
那么我們來定義一首詩的功能:我們使用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日
轉載自://www.cnblogs.com/yjtxin/p/11810076.html