3

我想写一个片段来将文档字符串添加到 Python 函数中:

例如:

def foo(a):

    b=a+1

    return b

应该产生以下

def foo(a):
    """One liner description

    Parameters
    ----------
    a : type
        some comment

    Returns
    -------

    b : type
        some comment

    """

    b=a+1

    return b

我的第一次尝试是这个片段:

<snippet>
    <content><![CDATA[
"""${1:One liner description}

Parameters
----------
${2}
Returns
-------
${3}
"""
    ]]></content>
    <tabTrigger>docstring</tabTrigger>
    <scope>source.python</scope>
    <description>Adds a docstring skeleton to function</description>
</snippet>

在输入 docstring 然后 Tab 时会产生以下内容:

def foo(a):
    """One liner description

    Parameters
    ----------

    Returns
    -------

    """

    b=a+1

    return b

如何在代码段中自动检测到参数和返回值,例如示例中的“a”和“b”?

4

2 回答 2

0

只需在每个停止点后添加一个:<默认值:>#${#}

<snippet>
    <content><![CDATA[
"""${1:One liner description}

Parameters
----------
${2:a} : ${3:type}

Returns
-------
${4:b} : ${5:type}
"""
]]></content>
    <tabTrigger>docstring</tabTrigger>
    <scope>source.python</scope>
    <description>Adds a docstring skeleton to function</description>
</snippet>
于 2013-09-12T09:03:02.860 回答
-1

也许字符串替换对您有帮助。这是 Idle 的一个简短片段,用于演示语法。

>>> a = 123
>>> b = "abc"
>>> "%(a)s, %(b)s" % locals()
'123, abc'
>>> "%d, %s" % (a,b)
'123, abc'

获取类型:

>>> a = 123
>>> type(a)
<type 'int'>
>>> print type(a)
<type 'int'>
>>> type(a).__name__
'int'

x.__name__是私有属性,但它是“可访问的”

于 2013-09-12T09:04:08.507 回答