Python Sphinx docstring:指定类类型而不是对象?

Python Sphinx docstring:指定类类型而不是对象?,python,python-2.7,python-sphinx,Python,Python 2.7,Python Sphinx,在狮身人面像中,假设您有一个接受一个参数的函数。您的文档字符串可能如下所示: class A(object): pass def funct1(a_object): """ :type a_object: A """ pass funct1(A()) 但是,如果传递的不是类A的对象,而是类“A”本身,该怎么办?那个文件串看起来怎么样 class B(object): pass def funct2(b_class): """

在狮身人面像中,假设您有一个接受一个参数的函数。您的文档字符串可能如下所示:

class A(object):
    pass

def funct1(a_object):
    """
    :type a_object: A
    """
    pass

funct1(A())
但是,如果传递的不是类A的对象,而是类“A”本身,该怎么办?那个文件串看起来怎么样

class B(object):
    pass

def funct2(b_class):
    """
    :type b_class: ?????
    """
    pass

funct2(B)

我认为这应该适用于类型暗示,即使它在技术上不是100%准确:

class B(object):
    pass

def funct2(b_class):
    """
    :type b_class: () -> B
    """
    pass

funct2(B)

我认为这应该适用于类型暗示,即使它在技术上不是100%准确:

class B(object):
    pass

def funct2(b_class):
    """
    :type b_class: () -> B
    """
    pass

funct2(B)

如果您只想声明所需参数的类型,那么您需要的是一个类。如果您尝试
类型(B)
,您将得到它的类型:
类型
。按照这个逻辑,不是吗?:type b_class:typeHmm,是的,我想
type
应该是正确的类型。。。我这样做的原因是为了改进PyCharm的类型推断。我曾希望我可以使用一个泛型(例如
:type b_class:type[b]
),但它似乎不起作用。我经常认为这是斯芬克斯类型注释中的一个小缺点,因为
type
显然不够具体(尽管它是正确的)--您可能有许多
类型的实例
,它们实际上没有提供所需的接口。如果您只想说明所需参数的类型,那么您需要一个类。如果您尝试
类型(B)
,您将得到它的类型:
类型
。按照这个逻辑,不是吗?:type b_class:typeHmm,是的,我想
type
应该是正确的类型。。。我这样做的原因是为了改进PyCharm的类型推断。我曾希望我可以使用一个泛型(例如
:type b_class:type[b]
),但它似乎不起作用。我经常认为这是斯芬克斯类型注释中的一个小缺点,因为
type
显然不够具体(尽管它是正确的)--您可能有许多
类型的实例
,它们实际上没有提供所需的接口。