今天在看書的時候,看到了這樣的一條語句:
if isinstance(value,int) or isinstance(value,float): split_function=lambda row:row[column]>=value
對其中的lambda這個函數表示很不明白,於是看了看Python文檔,文檔中解釋如下:
- lambda
- An anonymous inline function consisting of a single expression which is evaluated when the function is called. The syntax to create a lambda function is lambda [arguments]: expression
- lambda函數也叫匿名函數,即,函數沒有具體的名稱,而用def創建的方法是有名稱的。
- lambda允許用戶快速定義單行函數,當然用戶也可以按照典型的函數定義完成函數。lambda的目的就是簡化用戶定義使用函數的過程。
- 例如:
log2=lambda x:log(x)/log(2)
就是定義了一個以2為底的對數函數。這個例子是有參數的,還有一種情況是沒有參數的:
>>>bar=lambda :'this is a bar' >>>print bar this is a bar