python - 为什么要将一个类作为 lambda 传递?
问题描述
我从在线示例和教程构建了我的第一个 GraphQL API,但想知道为什么某些事情是用 Python 完成的。
我不明白的课程片段:
class UpdateRegion(graphene.Mutation):
"""Update a region."""
region = graphene.Field(lambda: Region, description="Region updated by this mutation.")
...
区域类:
class Region(SQLAlchemyObjectType):
class Meta:
model = RegionModel
interfaces = (relay.Node, )
为什么他们将Region
类作为 lambda 函数传递?对我来说lambda: Region
是一样的f():return Region
解决方案
对我来说
lambda: Region
是一样的f():return Region
对于初学者来说,f():return Region
不是有效的语法。当然,这可以修复:
def f():
return Region
region = graphene.Field(f, ...)
这将起作用并且大致相当于region = graphene.Field(lambda: Region, ...)
. 后者更短,可以说更清晰。
推荐阅读
- sql - 带有 WHERE 子句的 PostgreSQL generate_series
- python - 带有开放程序的语音识别
- q# - Microsoft Q#:旋转函数 R() 的问题
- c++ - 关于 if 块的情况的排他性
- javascript - login() 函数后如何获取名称
- thymeleaf - 将 thymeleaf 转换为 freemarker
- sql - Laravel 连接出错
- model-view-controller - View 和 ViewModel 最佳实践
- php - 子目录中的 Linux Apache2 Wordpress 核心,但没有重定向到 wp-admin
- android - Room DAO 光标替换