9.Python初窺門徑(函數初識)

Python(函數初識)

1、初識函數

  • 面向過程缺點 : 代碼重複,代碼描述性不高
  • 函數 : 函數是以功能爲導向,一個函數封裝一個功能.
  • 函數的優勢 : 減小代碼重複性,加強了代碼的可讀性

2、函數的結構

# 結構
def 函數名():
    內容
# def : 定義一個函數,def關鍵字後緊跟一個空格
# def 函數名() : 函數名命名方式與變量命名規範一致

3、函數的調用

# 結構
def 函數名():
    內容
函數名()
# 函數名() : 函數的執行
---------------------------------
# 函數的執行寫多少次,執行多少次
lis=[1,2,3,4,5,6,7,8,9]
def new_len():
    count=0
    for i in lis:
        count+=1
    print(count)
for i in range(3):
    new_len() # 執行結果 三次9

4、函數的返回值

return 做用1 : 只能在函數中用,可用於結束函數python

lis=[1,2,3,4,5,6,7,8,9]
def new_len():
    count=0
    for i in lis:
        count+=1
    print("少林")
    return
    print("武當")
new_len() # 少林

return 做用2 : 給函數的執行者返回具體的值(三種狀況)函數

  1. 函數中沒有return或只寫一個return,函數的執行者獲得的是Nonecode

    lis=[1,2,3,4,5,6,7,8,9]
    def new_len():
        count=0
        for i in lis:
            count+=1
        return
    print(new_len()) # None
  2. 函數中return後跟單個值,則返回這個值,不改變值得類型class

    lis=[1,2,3,4,5,6,7,8,9]
    def new_len():
        count=0
        for i in lis:
            count+=1
        return [1,2,3,4,5]
    print(type(new_len())) # <class 'list'>
  3. 函數中return後跟多個值,函數的執行者獲得的是一個元組變量

    lis=[1,2,3,4,5,6,7,8,9]
    def new_len():
        count=0
        for i in lis:
            count+=1
        return [1,2,3,4,5],123,"123"
    print(type(new_len())) # <class 'tuple'>

5、函數的傳參

定義 : 在函數調用時,那實參的值賦值給形參的過程叫作傳參.擴展

目的 : 函數可擴展性進階

def new_len(a): # 定義函數時的參數:形參
    count=0
    for i in a:
        count+=1
    return count
l1=[1,2,3]
s1="dsadsadsadsad"
print(new_len(l1)) # 3 函數的調用者參數:實參
print(new_len(s1)) # 13 函數的調用者參數:實參

實參分類(三種)命名

  1. 位置參數 : 按照位置爲形參賦值,按照順序一一對應co

    def meet(sex,age,job):# 位置參數從左到右,形參與實參按照順序一一對應
        print("尋找性別%s,年齡%s歲,工做%s"%(sex,age,job))
    meet("女","20-25","老師")
  2. 關鍵字參數 : 按照位置爲形參賦值,可不按照順序一一對應命名規範

    # 位置參數從左到右,形參與實參可不按照順序一一對應
    def meet(sex,job,age):
        print("尋找性別%s,年齡%s歲,工做%s"%(sex,age,job)) # 這裏要按照順序
    meet(job="老師",age="20-25",sex="女")
  3. 混合參數

    # 關鍵字參數必定要在位置參數後面,一一對應
    def meet(job,age,weight,sex):
        print("尋找性別%s,年齡%s歲,工做%s,體重%s"%(sex,age,job,weight)) # 這裏要按照順序
    meet("老師","20-25",sex="女",weight="120")

形參角度(四種)

  1. 位置參數 : 與實參角度位置參數一致

  2. 默認參數 : 默認參數必定在位置參數後面,不傳參數即沿用默認的參數,更改默認參數能夠用位置或指定的方式更改默認參數.

    def meet(job,age,weight,sex="女"):
        print("尋找性別%s,年齡%s歲,工做%s,體重%s"%(sex,age,job,weight)) # 這裏要按照順序
    meet("老師","20-25",weight="120")
    ---------------------------------
    # 更改默認參數,第一種
    def meet(job,age,weight,sex="女"):
        print("尋找性別%s,年齡%s歲,工做%s,體重%s"%(sex,age,job,weight)) # 這裏要按照順序
    meet("老師","20-25",sex="女",weight="120")
    # 更改默認參數,第二種
    def meet(job,age,weight,sex="女"):
        print("尋找性別%s,年齡%s歲,工做%s,體重%s"%(sex,age,job,weight)) # 這裏要按照順序
    meet("老師","20-25","120","男")

如下兩種函數進階會講到

  1. 動態參數

  2. 僅限關鍵字參數

相關文章
相關標籤/搜索