1. 程式人生 > 其它 >【Python8】匿名函式lambda、函式常用引數型別(必選引數、關鍵字引數、預設值引數、不定長引數)

【Python8】匿名函式lambda、函式常用引數型別(必選引數、關鍵字引數、預設值引數、不定長引數)

技術標籤:Pythonpythonlambda

文章目錄

0 可變與不可變

在這裡插入圖片描述

1. 引數


1.1 必選引數


  • 傳入引數的值是按照順序依次賦值給形參
def print_str(str):
    print(str)
    return
print_str('hello,sdsnzy!')

1.2 關鍵字引數


  • 為了避免位置引數嚴格的位置要求,呼叫引數時可以指定對應形式引數的名字,這是關鍵字引數,它甚至可以採用與函式定義時不同的順序.
def f(x,y):
    print
(x*y) return f(y=2,x=3) #輸出6

1.3 預設值引數


  • 當呼叫方沒有提供對應形式引數的值時,你可以指定預設形式引數值。
  • 如果提供實參,在呼叫時會代替預設值
def f(x,y=5):
    print(x*y)
    return
f(3)
#15
def f(x,y=5):
    print(x*y)
    return
f(3,9)
#27

1.4 不定長引數


  • 函式引數數目不確定

1)*:星號將一組可變數量的位置引數集合成引數值的元組

def countnum(a,*b):
    print(b)
    print(type(b))
countnum(
1,2,3)

在這裡插入圖片描述

2)**:以字典形式存放

def countnum(a,**b):
    print(b)
    print(type(b))
countnum(1,x1=2,x2=3,x3=4)

在這裡插入圖片描述

2. 匿名函式


函式定義的另一種方法是用 lambda 表示式,它定義了一個匿名函式。lambda的一般形式是關鍵字lambda後面跟一個或多個引數,緊跟一個冒號:,後面是一個表示式。作為表示式,lambda返回一個值。lambda 用來編寫簡單的函式,而def用來處理更強大任務的函式。

示例1:

#把lambda定義的匿名函式賦給函式result
result=lambda x,
y,z:x*y*z print(result(1,2,3)) #6

示例2:

result=lambda x,y,z=2:x+y+z
print(result(2,2,3)) # 7
print(result(2,2)) # 6