前方高能---初識函數
一.? 什么是函數
函數:對代碼塊和功能的封裝和定義.
二. 函數的定義,函數名,函數體,以及函數的調用
def 函數名():
函數體
函數體:就是函數被執行之后要執行的代碼.
三, 函數的返回
執行完函數之后,我們可以使用return來返回結果.
函數中return的使用:
1.函數中遇到return,此函數結束,不在繼續執行.
def yue()print('打開手機')print('打開微博')print('進入闞清子和紀凌塵微博')returnprint('去留言,你喜歡大海,我愛過你.') # 這句話不會被執行. yue()
2.給函數的調用者一個訪問結果.
def yue()print('拉拉')print('啥呀')return '噠噠噠' girl = yue() print(girl) # 噠噠噠
函數的返回值可以有多個結果
def yue():print('拉拉')print('啥呀')print('大大')return '脈動','巴啦啦' girl = yue() print(type(girl)) # tuple
總結一下: 1.遇到return,此函數結束,函數后面的東西將不會再執行
2. return返回值.
關于返回值:
如果return什么都不寫,或者干脆不寫return,那么返回的就是None
如果return后面寫了一個值,則調用者可以接收一個結果.
如果return后面寫了多個結果,則調用者可以接收一個tuple,調用者可以直接解構成多個變量.
四. 函數的參數
參數,函數在調用的時候指定具體的一個變量的值,就是參數.
語法:
def 函數名(參數列表):函數體
關于參數:
1, 形參
寫在函數聲明的位置的變量叫形參,形式上的一個完整,表示這個函數需要xxx
2, 實參
在函數調用的時候給函數傳遞的值,叫實參,實際執行的時候給函數傳遞的信息,表示給函數xxx
3, 傳參
給函數傳遞信息的時候將實際參數交給形式參數的過程被稱為傳參.
def yue(chat): # chat 形參print('笨蛋')print('哈哈哈')print('想喝',chat)print('cheer up') yue('脈動') # 實參 len('字符串') # '字符串'在這里就是實參 print('麻花藤') # '麻花藤'就是實參
?參數的分類:
1,位置參數
def yue(chat,address,age): # 形參print('拿出手機')print('打開'+chat)print('找個'+address+'附近漂亮的'+str(age)+'歲妹子')print('噠噠噠') yue('微信','北京',18) # 實參
? 分析: 在訪問yue()的時候,我們按照位置的順序分別把'微信','北京',18,賦值給chat.address,age.在傳參過程中,系統會默認按照位置把實參賦值到形參.
練習: 編寫編程,給函數傳遞兩個參數a,b.比較啊,a,b的大小,返回a,b中最大的那個數.
答案:
def my_max(a,b):if a > b:return aelse:return b #有點麻煩,我們在這里學一個三元運算符. def my_max(a,b):c = a if a > b else b # 當a>b成立返回a,否則返回breturn c
2, 關鍵詞參數
def yue(chat,address,age):print('哈哈哈')print('打開'+chat)print('找個'+address+'附近漂亮的'+str(age)+'歲妹子')print('嘿嘿嘿') yue(chat='微信',age=18,address='北京') # 關鍵字參數
3,可以把上面兩種參數混合著使用,也就是說在調用函數的時候可以給出位置參數,也可以指定關鍵詞參數.
# 函數參數 yue('微信',age=18,addreass='上海') #正確.第一個位置賦值給chat,后面的參數開始指定關鍵字. yue(age=18,'微信',addreass='廣州') # 錯誤,最開始使用了關鍵字參數,那么后面的微信的位置就串了,容易出現混亂.
注意: 在使用混合參數的時候,關鍵字參數必須在位置參數后面.
綜上: 在實參的角度來看,分為三種.
1.位置參數
2,關鍵字參數
3, 混合參數,位置參數必須在關鍵字參數前面.
?
? 在形參角度看,一共分為三種,
位置參數,按照位置來賦值,到目前為止,我們編寫的函數都是這種.
def yue(chat,address,age):print('拿出手機')print('打開'+chat)print('找個'+address+'附近漂亮的'+str(age)+'歲妹子')print('呃呃呃')
默認值參數, 在函數聲明的時候,就可以給出函數參數的默認值,在調用的時候可以給出具體的值,也可以不給值,使用默認值.
def stu_info(name,age,sex='男'):print('錄入學生信息')print(name,age,sex)print('錄入完畢') stu_info('張強強',18)
注意: 必須先聲明位置參數,才能聲明默認參數.
綜上: 在形參的角度來看.
1.位置參數
2.默認值參數(大多數傳進來的參數都是一樣的,一般用默認參數.)