如何在以下函数中定义文档字符串?

def get_object(klass, **kwargs):
    """
    :rtype: ???
    """
    # perform some tasks
    return klass(**kwargs)


我已经尝试过klasstype(klass)klass.__class__
它们都不能在单独的模块文件中工作:

from sample.utils import get_object
from sample.models import User

u = get_object(User, name='test')
u.  # no PyCharm hint here


我也尝试了:type klass: T:rtype: T,也没有用:(

PyCharm可以在文档字符串中支持此类语法吗?
如何记录?

最佳答案

尝试这样的事情:

def get_obj(klass, **kwargs):
"""
:type klass: ((object) -> T) | T
:type kwargs: object
:rtype: T
"""


类可以是其__init__的lambda,因此您可以将lambda的返回类型用作类的实例类型

关于python - 如何在PyCharm + python2.7中指定通用返回类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43074829/

10-12 22:03