1. 程式人生 > >day_09(函數)

day_09(函數)

spa 停止 name 代碼 pri 小姑娘 被調用 傳遞 元素

一、什麽是函數

  函數. 就是對一個代碼塊或者功能的封裝. 什麽時候用, 什麽時候執行

  語法:

    def 函數名():
    函數體(代碼塊)
    

    函數的調用: 函數名() # 所有的()都是函數的調用

    函數名和變量名一樣.

def yue():
    print("拿出手機")
    print("打開探探")
    print("找一個漂亮的美女")
    print("聊一聊.")
    print("走你~~")
yue()

二、函數的返回值

    函數在執行過程中或者執行完畢, 可以使用return返回給調用者一個結果,只要程序執行到return

, 函數就會被停止, 後面的內容就不會再執行。  

def yue():
    print("拿出手機")
    print("打開探探")
    print("找一個漂亮的美女")
    return         # 這裏的return終止執行一個函數,下面的不執行
    print("聊一聊.")
    print("走你~~")
yue()

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

def yue():
    print("約金老板出來吃飯")
    print("約金角大王, 出來泡澡")
    return "小姑娘"   # 有返回值. 返回值是: "小姑娘"
ret = yue() print(ret)

    返回值可以是多個元素

def yue():
    print("約金老板出來吃飯")
    print("約金角大王, 出來泡澡")
    return "小姑娘","小妹妹", "小蘿莉", "護士"
a, b, c, d = yue() # 解構      不結構,返回值是元祖
print(a, b, c, d)

  總結: 1. 直接寫個return或者不寫return, 不返回任何內容, 接收的是None

  2. return 一個變量或者值(返回值)

  3. return 多個變量或者值, 返回的時候解釋器會幫我們把多個返回值組裝成一個tuple,接收的地方可以接收一個變量, 多個變量, 解構成多個變量

三、函數的參數:

    函數在訪問的時候, 給函數傳遞的一些信息, 參數寫在小括號裏面

  1. 形參::在函數聲明的位置給出的變量的聲明, 形式參數

   2. 實參::在函數調用的時候.,給函數傳遞的具體的值, 實際參數

    參數可以有很多個.每個參數之間用逗號隔開   

# def yue(chat):   # chat變量, 在聲明函數的時候. 並不知道chat取值是什麽       #形參
#     print("拿出手機")
#     print("打開"+ chat)
#     print("找一個漂亮的美女")
#     print("聊一聊.")
#     print("走你~~")
# yue("陌陌")      # 函數被調用的時候會給出具體的值       #實參
# # yue()         # 會報錯. 必須要給值

  實參:    

    位置參數:按照位置把實參賦值給形參

# def yue(chat, age, address):     #形參 
#     print("拿出手機")
#     print("打開"+ chat)
#     print("在%s位置找一個%s以下美女" % (address, age))
#     print("聊一聊.")
#     print("走你~~")
#yue(‘陌陌‘,20,‘北京‘) #實參

    關鍵字參數:對照形參, 給每個參數賦值

def yue(chat, age, address): 
    print("拿出手機")
    print("打開"+ chat)
    print("在%s位置找一個%s以下美女" % (address, age))
    print("聊一聊.")
    print("走你~~")
yue(address="保定", age=20, chat="陌陌")

    3. 混合參數:位置參數和關鍵字參數混合著使用, 必須先寫位置參數, 然後才是關鍵字參數

def yue(chat, age, address): 
    print("拿出手機")
    print("打開"+ chat)
    print("在%s位置找一個%s以下美女" % (address, age))
    print("聊一聊.")
    print("走你~~")
yue(chat="陌陌", 18, "保定")    # 報錯. 應該是:先寫位置參數,然後再是關鍵字參數
# 練習: 編寫一個函數get_max() 給函數傳遞兩個參數: a, b, 返回a和b中比較大的那個數.
# def get_max(a, b):
#     if a > b:
#         return a
#     else:
#         return b
# c = get_max(a, b)
# print(c)

# 三元運算符(表達式)
# def get_max(a, b): #   c = a if a > b else b # c= 當a>b的時候返回a, 否則返回b #   return c
# print(c)

  行參: 

    位置參數:按照位置來賦值,到目前為止,我們使用的都是位置參數

# def yue(chat, age, address):     
#     print("拿出手機")
#     print("打開"+ chat)
#     print("在%s位置找一個%s以下美女" % (address, age))
#     print("聊一聊.")
#     print("走你~~")
#yue(‘陌陌‘,20,‘北京‘)           

    默認值參數: 當出現很多重復的參數的時候.,考慮使用默認值參數,默認值參數必須在位置參數後面當調用的地方不給出值的時候使用默認值

# def input_stu(name, age, sex="男"):
#     print(name, age, sex)
#
# input_stu("大陽哥", 24)
# input_stu("劉帆",24)
# input_stu("碗蓉", 18, "女")

day_09(函數)