升华3,python函数docstring的代码段,带参数和返回

升华3,python函数docstring的代码段,带参数和返回,python,code-snippets,sublimetext,sublimetext3,Python,Code Snippets,Sublimetext,Sublimetext3,我想编写一个代码段,将docstring添加到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

我想编写一个代码段,将docstring添加到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>
如何获取在代码段中自动检测到的参数和返回值,例如示例中的“a”和“b”

只需在每个
${}
停止点的
后面添加一个


文档字符串
source.python
将docstring骨架添加到函数

也许字符串替换对您有帮助。下面是一个来自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'
>a=123
>>>类型(a)
>>>打印类型(a)
>>>键入(a).\u名称__
“int”

x.\uuuu name\uuuuuuu
是一个私有属性,但它是“可访问的”

这误解了我的问题:目的是有一种通用的方法来检测函数的参数和返回,并在代码段中添加相应的条目。这里的a和b只是给出一个例子。好吧,你不能用一个ST代码段来完成所有这些。即使有另一种方法,检测类型也会很困难,特别是对于返回值,因为一个函数可以有多个值。Python函数不能返回多个值。它只能通过返回一个iterable并使用解包将iterable中的每个值分配给相等数量的变量来产生错觉。@e-satis:我知道,但出于文档目的,检测iterable中的值的类型将非常有用,而不仅仅是生成一个通用的“返回序列”。不管怎样,我怀疑ST甚至可能在最简单的情况下也能解决这个问题
>>> a = 123
>>> type(a)
<type 'int'>
>>> print type(a)
<type 'int'>
>>> type(a).__name__
'int'