1. 程式人生 > >python之初始函數

python之初始函數

實參 spa pri 翻譯 tro 上班 自己 聊天 int

一.函數

1.什麽叫函數:

函數是組織好的,可重復使用的,用來實現單一,或相關聯的功能的代碼段.

函數可以提高應用的模塊性,和代碼的重復利用率.python提供了許多內建函數,比如print(),len()等.我們也可以自己創建函數,這叫用戶自定義函數.

2.函數的定義語法:

def 函數名():
    函數體

函數體:就是函數執行之後要執行的代碼.

比如:

def yue():
    print("和女朋友聊天")
    print("一起出去玩")
    print("
玩的很開心") yue() print("明天要上班,天哪") #yue() ...... 結果: 和女朋友聊天 一起出去玩 玩的很開心 明天要上班,天哪 #和女朋友聊天 #一起出去玩 #玩的很開心 .....
如果還想和女朋友約,就可以多次調用 yue()

上面我們就寫了一個函數並定義了他.

定義:  def  關鍵字開頭  ,  空格之後接函數名稱和圓括號(),最後還有一個":".

         def  是固定的,不能變,他就是定義函數的關鍵字.

         函數名:函數名只能包含 字符串, 下劃線 , 和數字並且不能以數字開頭
.起函數名時要盡量簡短,並能表達函數的功能. 調用: 就是 函數名() 要記得加上括號哦!!!!!

3.函數的返回值

return 翻譯過來就是 "返回" ,我們叫return後面的值叫 "返回值".

①.在函數中遇到return,就此函數結束,不在繼續執行.

def chi():
    print("吃餃子")
    print("吃披薩")
    print("滿漢全席")
    return
    print("和誰一起吃")           #
不會被執行 chi() 結果: 吃餃子 吃披薩 滿漢全席

②.給函數的調用者一個訪問結果

def chi():
    print("吃餃子")
    print("吃披薩")
    print("滿漢全席")
    print("和誰一起吃")
    return "和美女一起吃"
ret = chi()
print(ret)          #和美女一起吃


結果:
吃餃子
吃披薩
滿漢全席
和誰一起吃
和美女一起吃 

③.函數的返回值可以由多個結果.

def chi():
    print("吃餃子")
    print("吃披薩")
    print("滿漢全席")
    print("和誰一起吃")
    return "和蘿莉","禦姐","小姐姐一起吃"
ret = chi()
print(ret)

結果:
吃餃子
吃披薩
滿漢全席
和誰一起吃
(和蘿莉, 禦姐, 小姐姐一起吃)             #註意,返回值是以元組的形式. 

④.如果return什麽都不寫,或者不寫return,會返回一個 None

def chi():
    print("吃餃子")
    print("吃披薩")
    print("滿漢全席")
    print("和誰一起吃")
ret = chi()
print(ret)

結果:
吃餃子
吃披薩
滿漢全席
和誰一起吃
None

總結:

① .遇到 return ,此函數結束,函數後面的東西將不會執行.

②.如果 return 什麽都不寫,或者,幹脆不寫 return ,那麽返回的就是None.

③.如果 return 後面寫一個值,則調用者可以接收一個結果.

④.如果 return 後面寫了多個結果,則調用者可以接收一個 tuple ,調用者可以直接解構成多個變量.

4.函數的參數

㈠.參數,函數在調用的時候指定具體的一個變量的值,就是參數.

def  函數名(參數列表):
       函數體

例如:

def yue(people):                 #形參:在函數聲明的位置的變量
    print("和%s聊天" % people) 

print("一起出去玩")

print("玩的很開心")
yue(
"女朋友") #實參:在函數調用的地方給的具體的值.
yue(
"男朋友")
yue(
"路人甲")
結果:
和女朋友聊天
一起出去玩
玩的很開心
和男朋友聊天
一起出去玩
玩的很開心
和路人甲聊天
一起出去玩
玩的很開心

我們在調用yue的時候給了people一個值,然後再執行函數體.

㈡.參數分為:--形參,實參,傳參

①.形參: 寫在函數聲明的位置的變量叫形參,形式上的一個完整,表示這個函數需要xxx.

⑴.位置參數

⑵.默認值參數,先位置參數後默認值

⑶.動態參數.

例如:

def people(name,phone,gender):       #位置參數
    print(name,phone,gender)

people("小白","123456","")
people("小紅","654321","")
people("小黑","123457","")
people("小蘭","012345","")



結果:
小白 123456 男
小紅 654321 男
小黑 123457 男
小蘭 012345 女
def people(name,phone,gender=""):    #默認參數:默認參數必須在參數列表的最後
    print(name,phone,gender)           #因為男性較多,所有gender="男",默認性別是男,到小蘭時,會女替換男.
                                       
people("小白","123456")
people("小紅","654321")
people("小黑","123457")
people("小蘭","012345","")

結果:
小白 123456 男
小紅 654321 男
小黑 123457 男
小蘭 012345 女

②.實參: 在函數調用的時候給函數傳遞的值,叫實參,實際執行的時候給函數傳遞的信息,表示給函數xxx.

⑴.位置參數,按照形參的位置,給形參傳值.

⑵.關鍵字參數,按照形參的名字給形參傳值.

⑶.混合參數,即用位置參數,也用關鍵字參數.

例如:

def chi(drink,ice_cream,zaocan,wancan):
    print(drink,ice_cream,zaocan,wancan)
chi("可樂","哈根達斯","包子","面條")                                 #位置參數
chi(drink="可樂",ice_cream="哈根達斯",zaocan="包子",wancan="面條")   #關鍵字參數
chi("可樂","哈根達斯",zaocan="包子",wancan="面條")                   #混合參數
chi("可樂",zaocan="包子","哈根達斯",wancan="面條")                   #會報錯

結果:
可樂 哈根達斯 包子 面條
可樂 哈根達斯 包子 面條
可樂 哈根達斯 包子 面條

③.傳參: 給函數傳遞消息的時候講實際參數交給形式參數的過程被稱為傳參.

python之初始函數