什么是表达式?
表达式是创建匿名函数的一种特殊语法。或者语法本身称为表达式,它返回的函数称为函数。或者称为匿名函数。
表达式允许创建一个函数并在一行代码中传递它。
看看下面的代码:
website = ["www.pythontab.com", "bbs.pythontab.com", "docs.pythontab.com"] def wordCount(string): return len(string) siteNameLength = map(wordCount, website) print(siteNameLength)
结果
[17, 17, 18]
上述代码可以转换成表达式:
website = ["www.pythontab.com", "bbs.pythontab.com", "docs.pythontab.com"] siteNameLength = map(lambda string: len(string), website) print(siteNameLength)
结果
[17, 17, 18]
表达式只是创建函数的一种特殊方式。它们只包含一个语句,并自动返回该语句的结果。
当有经验的程序员看到一个表达式时,他们知道他们正在使用一个仅在一个地方有效并且只做一件事的函数。
的优点和缺点
从上面的例子我们可以看出,使用表达式可以写出非常简洁的代码,但是缺点也非常明显:难以理解,降低了可读性和性能,特别是对于新手来说。
例如,以下表达式:
lambda_list = lambda n: lambda_list(n-1) + (lambda x: x * (n-1),) if n else ()
短时间内很难理解代码的含义。
的缺点:
对于许多程序员来说,表达式是一种陌生且不熟悉的语法。
函数本身缺乏名称和文档,这意味着了解它们功能的唯一方法是阅读代码
表达式只能包含一个语句,因此一些可提高可读性的语言特性(如元组解包)不能与它们一起使用
函数通常可以用标准库或内置函数中的现有函数替换。
的优点:
代码简单性
无额外变量
表达式和命名函数之间的主要区别是:
可以立即传递(不需要变量)
只能包含一行代码
自动返回结果
没有文档字符串,没有名称
使用场景
以下场景比较适合使用表达式:
你执行的操作并不重要:该函数不值得命名
使用表达式使得代码比函数名更容易理解。
您非常确定目前还没有满足您需求的功能
团队中的每个人都理解表达方式并同意使用它们
总结
除非你知道自己在做什么,否则不建议使用。在团队开发中,一份好的、易读的代码非常重要,有助于提高团队协作开发的效率,降低沟通和维护成本。
扫一扫在手机端查看
-
Tags : lambda
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。