数据工程师的日常

Flask RESTful API开发 利用好类方法

2018-03-15  本文已影响18人  表现力

什么是类方法(class method)?

Python开发中,我们更多使用的是实例方法(instance methods):

class Item:

  def __init__(self):
    pass

如这里的__init__(self),需要self作为第一个参数。

类方法(class methods)则有所不同:

class Item:
   
  # 需要额外装饰器
  @classmethod
  # 需要参数cls
  def find_by_name(cls, name):
    return {'Name': name}

self代表实例化的对象本身,而cls则代表未实例化的类,而不是某个特定的对象。

如何调用类方法

有两种调用类方法的方式:

RESTful API开发中类方法的应用

综上,类方法的优势之一就是不需要实例化即可调用,所以在一些特殊场合下就显得比较合适。

例如在Restful Api 开发中,如果我们遵循“资源 - 模型”关系的工程结构,很多不直接与API调用者交互的逻辑将被放入对应的模型类中。

如果想在资源类的CRUD操作中调用模型类下的函数,将模型类中的一些函数设为类方法,
既可以避免实例化模型类,又可以依然把这些函数有效组织在对应的类下。

上一篇 下一篇

猜你喜欢

热点阅读