Python 理解lambda函数有困难

Python 理解lambda函数有困难,python,lambda,Python,Lambda,函数中到底发生了什么: lambda x: 10 if x == 6 else 1 我知道一些lambda函数是做什么的,但我不习惯看到它们是这样写的。我对任何形式的代码都一无所知 由于python是一种具有函数特性的优秀语言,您可以使用lambdas使用函数做一些方便的事情。 你的例子相当于 if x == 6: return 10 else: return 1 lambda如果需要将一个简单函数作为参数传递给代码中某个位置的另一个函数,则函数非常有用 some_func

函数中到底发生了什么:

lambda x: 10 if x == 6 else 1 

我知道一些lambda函数是做什么的,但我不习惯看到它们是这样写的。我对任何形式的代码都一无所知

由于python是一种具有函数特性的优秀语言,您可以使用lambdas使用函数做一些方便的事情。 你的例子相当于

if x == 6:
    return 10
else:
    return 1
lambda
如果需要将一个简单函数作为参数传递给代码中某个位置的另一个函数,则函数非常有用

some_function = lambda x: 10 if x == 6 else 1
语法糖用于:

def some_function(x):
    return 10 if x == 6 else 1
这意味着如果
x==6
的计算结果为True,则返回10,否则返回1


就我个人而言,除了最简单的情况外,我更喜欢
def
表单,因为它允许多行函数,使调用可调用函数的开销更加明确,使分析函数的闭包更加简单,并使新的python程序员的思维向其他更复杂的代码对象敞开(例如类)可以在运行时轻松构建。

好吧,“python是一种函数式语言”有点夸张。它更像是一种具有函数特性的命令式语言。其他范式中的足够特性可以称为“多范式”;和几乎所有主流语言一样。谢谢。这真的很有帮助。非常感谢。这完全有道理。没问题!欢迎使用so!我们希望您坚持编程和StackOverflow!记住“接受”这些答案中的一个通过点击复选标记很有帮助。如果你打算继续使用,这将有助于你作为“询问者”的声誉。