您为什么要通过lambda课程?

时间:2018-12-06 13:42:15

标签: python lambda sqlalchemy graphql

我从在线示例和教程中构建了我的第一个GraphQL API,但是想知道为什么某些事情是用Python完成的。

我不理解的课程片段:

class UpdateRegion(graphene.Mutation):
    """Update a region."""
    region = graphene.Field(lambda: Region, description="Region updated by this mutation.")
...

Region类:

class Region(SQLAlchemyObjectType):
   class Meta:
       model = RegionModel
       interfaces = (relay.Node, )

为什么它们将Region类作为lambda函数传递? 对我来说lambda: Regionf():return Region

1 个答案:

答案 0 :(得分:0)

  

对我来说lambda: Regionf():return Region相同

对于初学者来说,f():return Region是无效的语法。这当然可以解决:

def f():
  return Region

region = graphene.Field(f, ...)

这将起作用,并且大致等效于region = graphene.Field(lambda: Region, ...)。后者更短并且可以说更清晰。