Pycharm ** kwargs自动完成

时间:2018-03-19 10:29:42

标签: python python-3.x pycharm

您好我正在尝试使用** kwargs进行pycharm的自动完成工作。为此,我使用epytext语法编写了一个doc字符串,它有一种方法可以用@keyword p:声明关键字参数,但它不起作用。

Example

有人知道修复它的方法吗?感谢。

P.S。我在PyCharm设置中更改了文档字符串格式。

1 个答案:

答案 0 :(得分:0)

如果预先知道关键字参数(并且您希望使用文档字符串来解释它们),则应在函数参数中明确列出它们。然后可以使用常规@param@type语法来描述每个语法。 @keywords用于描述开发时未知的其余关键字参数。

例如:

class SomeClass:
  def __init__(self, some_kw=None, some_kw_1=None, **other_kwargs):
    """
    @param some_kw: A known-at-dev-time keyword argument
    @type some_kw: str
    @param some_kw_1: Another known-at-dev-time keyword argument
    @type some_kw_1: str
    @keyword other_kwargs: More kwargs that will be set on the instance
    """
    self.some_kw = some_kw
    self.some_kw_1 = some_kw_1
    for k, v in other_kwargs:
        setattr(self, k, v)

an_instance = SomeClass(some_kw="hello", other_kw="world")
print an_instance.some_kw
print an_instance.some_kw_1
print an_instance.other_kw

输出

> "hello"
> None
> "world"