pyCharm中python对象的自动提示

python和Java不同,是一门动态语言:在创建对象的时候,我们并不需要声明对象的类型。这种方式虽然带来国极大便利,但是对于IDE来说,智能地辨别这些类型,并给出相应的代码提示就十分困难。如下图所示,我们通过json将json数据加载为一个列表(list)db,但在调用db的方法时IDE却不能给出相应的提示,这对于初学Python或对Python函数不熟悉的开发人员来说会极大降低开发效率。
pyCharm中python对象的自动提示_第1张图片
实际上pycharm提供了称为Type Hint的方法,来给IDE进行类型提示,以更便捷地获取代码提示。参考网站:https://www.jetbrains.com/help/pycharm/type-hinting-in-pycharm.html

下面是几种获取代码提示的方法(注意:以下方法均对Python 3.7及以上生效)

1 自己写的方法中添加类型提示(Python 3.7下可用)

在定义方法的时候,可以为参数设置类型,如果设置了类型,就可以在接下来的代码里获取相应的提示,比如:
pyCharm中python对象的自动提示_第2张图片
这样就可以顺利地获取提示。

同样如果方法有返回值的话,可以为方法的返回设置类型,这样在使用方法获取对象时,就可以在接下来的代码里获取相应的提示,比如:
pyCharm中python对象的自动提示_第3张图片

2 使用注释指明本地变量类型(Python 2.7下可用)

如果遇到使用第三方包的情况,而且提供包的人并没有给完整的type hint,再去重写他们的方法显然不现实,这时可以通过在对象后添加注解来提示IDE,以获取提示。比如:
pyCharm中python对象的自动提示_第4张图片
注解格式为:

# type: 对应的类型

3 在docstring中声明类型(Python 2.7下可用)

  • 指明局部变量的类型
  • 使用 :type 或 @type docstrings指定局部变量类型
    pyCharm中python对象的自动提示_第5张图片
  • 可以在class的docstring中指定属性的类型
  • pyCharm中python对象的自动提示_第6张图片
  • 指定返回类型
  • 使用 :rtype 或 @rtype docstrings指定返回类型
    pyCharm中python对象的自动提示_第7张图片
  • 指定参数类型
  • 使用 :type 或 @type docstrings指定参数类型
    pyCharm中python对象的自动提示_第8张图片

    4 参考资料

    1. https://my.oschina.net/pierrecai/blog/1142711
    2. https://www.jetbrains.com/help/pycharm/type-hinting-in-product.html

    你可能感兴趣的:(python)