Python 在GoogleAppEngine中,我不应该在模型中使用实例方法吗?

Python 在GoogleAppEngine中,我不应该在模型中使用实例方法吗?,python,google-app-engine,Python,Google App Engine,每次我看到有人用方法编写模型时,他们都使用类方法。我认为这是必须做的事情,但决定先用实例方法测试我的代码。我在模型中使用实例方法没有问题,但现在我想知道为什么每个人似乎总是使用类方法而不是实例方法。在GAE模型中使用类方法是否有一些优势?如果我使用实例方法,我会遇到问题吗?我认为对自定义ndb.Model类使用实例方法完全可以 很多时候,这有助于提高代码的可读性 到目前为止,我想不出使用实例方法有什么巨大的缺点 比如说, modelInstance.key 是一种非常常用的实例方法 如果是 m

每次我看到有人用方法编写模型时,他们都使用类方法。我认为这是必须做的事情,但决定先用实例方法测试我的代码。我在模型中使用实例方法没有问题,但现在我想知道为什么每个人似乎总是使用类方法而不是实例方法。在GAE模型中使用类方法是否有一些优势?如果我使用实例方法,我会遇到问题吗?

我认为对自定义ndb.Model类使用实例方法完全可以

很多时候,这有助于提高代码的可读性

到目前为止,我想不出使用实例方法有什么巨大的缺点

比如说,

modelInstance.key
是一种非常常用的实例方法

如果是

modelClass.key(instance)
是否会显著降低代码的可读性?
(这当然在很大程度上取决于您的编码风格)

我认为为您的自定义ndb.Model类使用实例方法完全可以

很多时候,这有助于提高代码的可读性

到目前为止,我想不出使用实例方法有什么巨大的缺点

比如说,

modelInstance.key
是一种非常常用的实例方法

如果是

modelClass.key(instance)
是否会显著降低代码的可读性?
(当然,这在很大程度上取决于您的编码风格)

当您需要实体的实例来执行某些操作时,应该使用实例方法

当您只需要模型而不需要或拥有实体时,通常会使用类方法

因此,例如,您有一个针对您一直使用的一组特定实例的查询,将其定义为classmethod是有意义的

e、 g


或者,如果您需要工厂。

当您需要实体的实例来执行某些操作时,应该使用实例方法

当您只需要模型而不需要或拥有实体时,通常会使用类方法

因此,例如,您有一个针对您一直使用的一组特定实例的查询,将其定义为classmethod是有意义的

e、 g

或者如果你需要一个工厂