Pycharm, 针对Python2 的type hint docstring 是否有某种简化的方式 ?

2017/2/13

描述

实际现象

期望借助Pycharm的type hint, 提升Python2的编码体验
但是 :type::param: 分开写, 导致不必要的冗余

预期现象

能够合在一起写, 可以看到:type:根本没必要分开

重现步骤

  1. 拷贝相关代码到Pycharm中

  2. 然后试着调用该函数

  3. 在Pycharm中查看该函数的签名

相关代码

  • 一段示例(可以看到, type 和 param 分开了, 导致不必要的冗余)

def test(arg1, arg2, arg3):
    """A test function
    
    要是能够合二为一就好了, 但是又不能失掉类型提示的功能
    比如  :param str arg1: arg1 is first argument

    :type arg1: str
    :param arg1:

    :type arg2: dict
    :param arg2:

    :type arg3: list
    :param arg3:

    :rtype: list
    :return:
    """

    for item in ('hello', 'world', 'good'):
        arg3.append(item)

    return range(100)
    
    

from __future__ import absolute_import, unicode_literals
from datetime import datetime

def test(arg1, arg2, arg3, func, generic, arg4):
    """A test function

    :type arg1: (str, int)
    :param arg1:

    :type arg2: dict[str, str]
    :param arg2:

    :type arg3: list
    :param arg3:

    :type func: (str, int) -> list
    :param func:
    
    :type generic: T
    :param generic:
    
    :type arg4: list[dict[str, datetime]]
    
    :rtype: (str, int)
    :return:
    """

    for item in ('hello', 'world', 'good'):
        arg3.append(item)

    return ('hezhiming', 23)


test()

上下文环境

  • Pycharm4.5

  • Python2.7.x

  • Windows 10

尝试解决

阅读 3.6k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进