【问题标题】:Pycharm **kwargs auto-completePycharm **kwargs 自动完成
【发布时间】:2018-08-27 21:07:04
【问题描述】:

您好,我正在尝试使 pycharm 的自动完成功能与 **kwargs 一起使用。为此,我使用 epytext 语法编写了一个文档字符串,该语法可以使用 @keyword p: 声明关键字参数,但它不起作用。

有人知道解决方法吗?

附:我在 PyCharm 设置中更改了文档字符串格式。

【问题讨论】:

标签: python python-3.x pycharm


【解决方案1】:

如果关键字参数是提前知道的(并且您想要一个文档字符串来解释它们),那么它们应该在函数参数中明确列出。然后可以用普通的@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"

【讨论】:

  • 关键是不要让它们在那里,而是让 PyC​​harm 向你推荐它们。
猜你喜欢
  • 2012-09-13
  • 2014-03-14
  • 1970-01-01
  • 2015-02-07
  • 2017-10-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-03
相关资源
最近更新 更多