Python函數(shù),媽媽再也不會擔心我不會Python了(十一)

函數(shù)

  • 在開發(fā)過程中,某部分代碼被使用多次,我們就需要把這部分代碼封裝成一個小模塊,這個模塊就是函數(shù)。
  • 函數(shù)用于簡化程序結構,增加閱讀行,實現(xiàn)代碼復用,
  • 函數(shù)分為聲明函數(shù)和調用函數(shù)。
def print_hello():#聲明函數(shù)
    print("你好世界")#函數(shù)內容

print_hello()#調用函數(shù) 

上述代碼執(zhí)行結果:


上述代碼執(zhí)行結果

函數(shù)參數(shù)

位置參數(shù)

  • 形參有幾個,實參必須傳幾個
  • 實參和形參一一對應
def calcu(x, y):#x,y叫形參
    print("x的值是%d"%x)
    print("y的值是%d"%y)
    z = x + y
    print(z)

calcu(1,2)#1,2叫實參

上述代碼執(zhí)行結果:


上述代碼執(zhí)行結果

關鍵字參數(shù)

  • 可以實現(xiàn)傳的參數(shù)和定義的形參順序不一樣
  • 位置參數(shù)必須在關鍵字參數(shù)的前面,關鍵字參數(shù)之間不存在先后順序
def calcu(x,y):#x,y叫形參
    print("x的值是%d"%x)
    print("y的值是%d"%y)
    z = x + y
    print(z)

calcu(1,2)#1,2叫實參
calcu(x=1,y=2)
calcu(y=2,x=1)
calcu(1,y=2)
#calcu(x=1,2)#不正確
#calcu(y=2,1)#不正確
#calcu(2,x=1)#不正確

上述代碼執(zhí)行結果:


上述代碼執(zhí)行結果

默認參數(shù)

  • 調用函數(shù)時,如果沒有傳參數(shù),就會使用默認參數(shù)。如果傳了參數(shù),就會使用傳的參數(shù)。
  • 默認參數(shù)一定要放在位置參數(shù)后面。切記
def introduce(age,name="老王"):
    print("我叫%s,我%d歲"%(name,age))

introduce(23)#不傳name,會默認使用老王
introduce(23,"小明")#傳name,會使用傳的值

'''
下面定義函數(shù)是錯誤的
默認參數(shù)必須放在位置參數(shù)后面~切記!
def introduce(name="老王",age):
    print("我叫%s,我%d歲"%(name,age))
'''

上述代碼執(zhí)行結果:


上述代碼執(zhí)行結果

可變參數(shù)

  • 需要函數(shù)能處理多個參數(shù)的時候,這些參數(shù)就叫可變參數(shù)。
def introduce(age,name,*args):#*args表示可變參數(shù),或者叫不定長參數(shù)
    print("我叫%s,我%d歲"%(name,age))
    print(args)#可變參數(shù),是一個元組
    for arg in args:
        print(arg)#遍歷可變參數(shù)

introduce(23,"小明","男","小學課本上的人物")

上述代碼執(zhí)行結果:


上述代碼執(zhí)行結果
  • 可變參數(shù)之字典類型的參數(shù)
def introduce(age,name,*args,**kwargs):
    '''
    *args表示可變參數(shù),或者叫不定長參數(shù)
    **kwargs表示字典類型的可變參數(shù)。
    '''
    print("我叫%s,我%d歲"%(name,age))
    print(args)#可變參數(shù),是一個元組
    print(kwargs)#可變參數(shù),是一個字典
    for arg in args:
        print(arg)#遍歷可變參數(shù)

    for k,v in kwargs.items():#遍歷字典
        print(k)
        print(v)
introduce(23,"小明","男","小學課本上的人物",address="北京市",phone="123456")

上述代碼執(zhí)行結果:


上述代碼執(zhí)行結果:
  • 拆包
def introduce(age,name,*args,**kwargs):
    '''
    *args表示可變參數(shù),或者叫不定長參數(shù)
    **kwargs表示字典類型的可變參數(shù)。
    '''
    print("我叫%s,我%d歲"%(name,age))
    print(args)#可變參數(shù),是一個元組
    print(kwargs)#可變參數(shù),是一個字典
    for arg in args:
        print(arg)#遍歷可變參數(shù)

    for k,v in kwargs.items():#遍歷字典
        print(k)
        print(v)
#introduce(23,"小明","男","小學課本上的人物",address="北京市",phone="123456")
desc = ("男","小學課本上的人物")
other = {"address":"北京市","phone":"123456"}
introduce(23,"小明",*desc,**other)#這種方式叫拆包

上述代碼執(zhí)行結果:


上述代碼執(zhí)行結果

組合參數(shù)

def introduce(name,age,*args,sex="男",**kwargs):
    print(name)
    print(age)
    print(sex)
    print(args)
    print(kwargs)

introduce("小明",12,"課本上的人物","女",phone="123")
#introduce("小明",12,"課本上的人物",phone="123")
#introduce("小明",12,"課本上的人物")
#introduce("小明",12)

上述代碼執(zhí)行結果:


上述代碼執(zhí)行結果

歡迎關注
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 第5章 函數(shù)和函數(shù)式編程 5.1 引言函數(shù)是組織好的,可重復使用的,用來實現(xiàn)單一,或相關聯(lián)功能的代碼段。函數(shù)...
    VIVAFT閱讀 1,090評論 0 5
  • 簡單地說,一個函數(shù)就是一組Python語句的組合,它們可以在程序中運行一次或多次運行。Python中的函數(shù)在其他語...
    秋殤灬閱讀 339評論 0 0
  • 〇、前言 本文共108張圖,流量黨請慎重! 歷時1個半月,我把自己學習Python基礎知識的框架詳細梳理了一遍。 ...
    Raxxie閱讀 19,589評論 17 410
  • ? 函數(shù)是一種可以復用代碼,把大型代碼拆分成多段代碼,實現(xiàn)功能分離,達到模塊化的效果。 ? 對于函數(shù)主要有...
    張氏小毛驢閱讀 439評論 2 0
  • 這個學期,我們銀鷹一幼每個月都有一個游學主題活動:三月摘瓜果,四月筆架山,五月游海洋世界。我太喜歡這個活動了,...
    師_cba3閱讀 653評論 0 0

友情鏈接更多精彩內容