python基礎6:函式
阿新 • • 發佈:2021-06-12
1、格式:
def test(x,y):
...
retuen
2、特點:
程式碼簡潔,可讀性強
可擴充套件性
程式碼重用
保持一致,維護性強
3、引數:
形參、實參,以下x,y為形參,abc,“edf”為實參
形參:只有在被呼叫時才傳遞分配記憶體單元,在呼叫結束後馬上釋放所分配的記憶體單元
實參:可以是常量、變數、表示式、函式等,在呼叫函式時,將實參的值傳遞給形參
def test(x,y):
...
retuen
a = test(abc,"edf")
傳遞引數:
def test(x, *args)
print(x)
print(args)
a = test(1,2,3,4,5,6)
將1傳遞給x,2,3,4,5,6傳遞給args,形成個元組
引數組:*args、**kwargs。*args:列表、元組;**kwargs:字典
def test(x, *args, **kwargs): print(x) print(args) print(kwargs) test(1, 2, 3, 4, 5, p=1, o=2) #將2,3,4,5作為一個引數傳給args,(2,3,4,5) test(1, [2, 3, 4, 5], p=1, o=2) #將列表作為一個引數傳給args,([2,3,4,5],) test(1, *[2, 3, 4, 5], **{"p": 1, "o": 2}) #將列表中的元素迭代傳給args,(2,3,4,5) #輸出結果: ''' 1 (2, 3, 4, 5) {'p': 1, 'o': 2} 1 ([2, 3, 4, 5],) {'p': 1, 'o': 2} 1 (2, 3, 4, 5) {'p': 1, 'o': 2} '''
1引數分類: 位置引數:實參與形參一一對應 關鍵字:位置無需固定,def test(x,y,z),test( x,z=2,y= 1),實參:y= 1為位置引數,關鍵字引數無需高綠位置順序,,但是位置引數必須在前 預設引數:def test(x,y=1),test(x),形參:y=1為預設引數,位置引數必須在前#列表、字典都可以: 2 aa = ["a", 1] 3 def test(x, *args): 4 print(x) 5 print(args) 6 return x, args 7 bb,dd = test(1, aa) 8 print(bb,dd[0][0]) 9 #輸出結果: 10 #1 11 #(['a', 1],) 12 #1 a
1def test(x, *args, **kwargs): 2 print(x) 3 print(args) 4 print(kwargs) 5 6 test(1, 2, 3, 4, 5, p=1, o=2) #將2,3,4,5作為一個引數傳給args,(2,3,4,5) 7 test(1, [2, 3, 4, 5], p=1, o=2) #將列表作為一個引數傳給args,([2,3,4,5],) 8 test(1, *[2, 3, 4, 5], **{"p": 1, "o": 2}) #將列表中的元素迭代傳給args,(2,3,4,5) 9 #輸出結果: 10 ''' 11 1 12 (2, 3, 4, 5) 13 {'p': 1, 'o': 2} 14 1 15 ([2, 3, 4, 5],) 16 {'p': 1, 'o': 2} 17 1 18 (2, 3, 4, 5) 19 {'p': 1, 'o': 2} 20 '''