解决某些情况编辑器无法自动补全 Python 方法的问题

(以 Intellij IDEA / PyChram 为例)
  Python 作为一个自动推定类型的语言,虽然是强类型,但是很多时候,变量的类型推断是在执行中进行的,这种模式一定程度上方便了代码的编写,程序员不需要在每次声明变量时还去考虑繁琐的类型。
  不过,对于 IDE 编辑器的自动补全机制来说,这未必是一个好事,因为某种意义上来说,自动补全是要根据变量类型,展示出可以使用的方法的。
  正常情况下,编译器会根据上下文智能推断变量的类型,但是有些情况下,比如:

这种情况主要出现在类库中

  这种情况经常出现在类库中,先不管依赖自动补全是不是一个好习惯,在面对一个新库的时候,如果没有补全只能查文档(很多还是英文的),确实挺麻烦的,而且很多方法名只要懂一些简单的英文单词就能看懂,很多时候直接从补全的内容里面找想要的方法,比查文档方便多了。
  那么怎么解决这一问题呢,核心问题是:“编辑器不知道变量类型 ”。还好 Python3 给出了一种新特性——指定变量类型。它的写法如下:
指定变量类型的写法

实践例子:
“不指定变量类型时”

“指定变量类型后”

  而一般的编辑器,只要你有该类型的一个方法就可以找到他的类型:
(如 IDEA/PyCharm):
“按住 Ctrl ,鼠标指针悬停在方法上就可以看到所属类”

  也就是说,你最多只需要查一次文档即可
  这样编辑器就能实行自动补全了,当然,这个 指定变量类型 的新特性本身并不是为了让编辑器自动补全,而是为了让程序员编写方法时确定传入的参数的数据类型是否是自己想要的,相当于类型检查功能。

推荐阅读更多精彩内容

  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 44,613评论 6 344
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 131,691评论 18 138
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 167,330评论 24 705
  • 整整一周年,在这一年里思想转变是有的,自己也能感受得到,不过改变大不大我无法评估,如果我想要对自己认识深一些,需要...
    麦风玄阅读 172评论 0 2
  • 男生寝室有着男生的专属话题,那就是对异性女孩的评头论足。 那是一个充满魔力而又热血沸腾的话题,男孩们会抓住每一个机...
    幻梦邪魂阅读 370评论 0 3
  • 有那么一群人,整日只围绕着生活的琐事、物质与金钱的需所而打转,是被日子推动着在向前,不太知道什么叫“精神境界...
    爱读书写字的格格妈阅读 4,493评论 0 1
  • 当年五公被流放, 播撒文明解惑盲; 其人不幸海南幸, 先民感恩建祠堂。 东坡遭贬来南荒, 途经此地留墨香; 指点居...
    蓝之岭阅读 313评论 1 3
  • 1. Warning:android-apt plugin is incompatible with future...
    Yasin27878阅读 1,089评论 0 1