星字/米字算子
在python有一個方便的在python有一個方便的拆解算子 *,其中又分為序列拆解 算子* 與字典拆解算子 **
首先考慮下面的sum()函式
def sum(a, b): return a + b
星字算子會順序的將變數放入sum()中
values = (1, 2) s = sum(*values) # 星字操作符會順序的將變數放入sum()中
雙星算子會將對應的key放到sum()中
values = { 'b': 1, 'a': 2 } s = sum(**values) # 雙星操作符會將對應的key放到sum()中
當然直接用在func承接變數也是可以的
def foo(*features): for f in features: print(f) foo(1,2,3,4,5)
lambda
lambda在python被用作簡單匿名函式,適合用作一些簡易處理與表達
語法
lambda arguments : expression
簡單用法
用 lambda 定義一個 sum()
sum_lambda = lambda a,b:a+b
同等效果的func寫法
def sum_func(a,b): return a+b
在上面的例子中,可將此lambda解析為
lambda arguments : return_value
加入判斷式
lambda arguments : return_true if condition else return_false
一個簡單的例子
more_then_x = lambda x,y : True if y > x else False more_then_x(50,100) # true more_then_x(50,10) # false