09 初識函式

楊洪濤發表於2018-12-06
什麼是函式
函式是對功能或者動作的封裝
函式的語法和定義
define  定義
def  函式名():
        函式體
呼叫:
       函式名()
def yue():
    # 描述你的動作
    print(“拿出手機”)
    print(`開啟陌陌`)
    print(“找一個心儀的小姐姐”)
    print(`有沒有時間啊, 聊聊人生`)
    print(“一起出來吃飯唱歌, 看電影”)
 
#呼叫函式
yue()
print(“上班”)
print(“上班”)
print(“上班”)
yue()
 
print(yue) # <function yue at 0x00000000005B2E18>
結果:拿出手機
開啟陌陌
找一個心儀的小姐姐
有沒有時間啊, 聊聊人生
一起出來吃飯唱歌, 看電影
上班
上班
上班
拿出手機
開啟陌陌
找一個心儀的小姐姐
有沒有時間啊, 聊聊人生
一起出來吃飯唱歌, 看電影
關於函式的返回值
結論: 1.遇到return.次函式結束,函式後面的東西不會再執行
         2.teturn  返回值
def yue():
    # 描述你的動作
    print(“拿出手機”)
    print(`開啟陌陌`)
    print(“找一個心儀的小姐姐”)
    print(`有沒有時間啊, 聊聊人生`)
    print(“一起出來吃飯唱歌, 看電影”)
    return “小姐姐” # 只能返回小姐姐, 其他的都不會執行
    return “大媽”
    return “流浪漢”
 
    # 得到一個結果
    # return “小姐姐”, “大媽”, “流浪漢” # 同時返回多個結果, 返回的是元組
 
ret = yue() # 這裡呼叫的函式. 返回值就返回給這裡
關於返回值:
      1.函式可以有返回值,也可以沒有返回值 
      2.函式如果沒有返回值,在函式最後執行完畢的時候會預設返回None
      3.在函式中只寫了return,但沒有返回值,會預設的返回None
      4.在函式中只寫了return,return None 返回值是None
      5.當函式寫了return 值1, 值2, 值3….  返回多個結果. 多個結果打包成tuple元組
      6.當程式執行到return, 函式結束執行
練習:寫一個函式, 在函式內部. 要求使用者輸入兩個數. 返回大的那個數
def func(): # fn func
    a = int(input(“請輸入第一個數:”))
    b = int(input(“請輸入第二個數:”))
    # if a > b:
    #     return a
    # else:
    #     return b
    # 三目運算
    c = a if a > b else b  # c裝的是a, b中大數
    # 值1 if 條件 else 值2
    return c
 
ret = func()
print(ret)
函式的引數(部分)
()小括號表示呼叫
在括號內寫的東西叫引數
在函式宣告的位置,寫的引數叫形參
在函式呼叫的地方,寫的引數叫實參
把實參傳給形參的過程叫做傳參
在函式呼叫的時候,必須保證所有的形參都有值
def yue(tools): # 形參
    # 描述你的動作
    print(“拿出手機”)
    print(`開啟%s` % tools)
    print(“找一個心儀的小姐姐”)
    print(`有沒有時間啊, 聊聊人生`)
    print(“一起出來吃飯唱歌, 看電影”)
 
yue(“微信”)  # 實參
yue(“探探”)  # 實參
yue(“陌陌”)  # 實參
關於實參
   1.位置引數,按照位置給形參傳遞資訊
   2.關鍵字引數,按照形參宣告的變數名進行傳遞
   3.混合引數,位置+ 關鍵字(規定)   關鍵字必須在位置引數的後面
關於形參
   1.位置引數,按照位置宣告的變數
    2.預設值引數   預設值是在不給傳引數的情況下啟用
   3.當預設值和位置引數同事存在的時候,  規定:預設值必須放到最後
  所有帶等號的,都上後面去
def chi(zhushi, fushi, tang, tiandian):
    print(“主食:%s” % zhushi)
    print(“副食:%s” % fushi)
    print(“湯:%s” % tang)
    print(“甜點:%s” % tiandian)
 
chi(“鍋包肉”, “胡辣湯”, “哈根達斯冰激凌火鍋”,”大米飯”)
chi(fushi=”大米飯”, zhushi=”鍋包肉”, tiandian=”哈根達斯”, tang=”酸辣湯”)
chi(“大米飯”, “鍋包肉”, tiandian=”哈根達斯”, “酸辣湯”) # 錯誤的. 關鍵字必須在位置引數後面
chi(“大米飯”, “鍋包肉”, “酸辣湯”, tiandian=”哈根達斯”)
chi(“大米飯”, “鍋包肉”, tiandian=”哈根達斯”, tang=”酸辣湯”)
 
open() # 呼叫函式
 

相關文章