效率工具 | 推荐一款提高Python编程效率的神器

简介: "I really love the line-of-code completions in the new kite.com",Python之父Guido van Rossum这样评价这款工具。这是一款基于人工智能的Python编码自动补全工具,起初,我对这款工具并不看好,直到我使用一段时间之后,才不由得感叹--"这款工具太牛了",有了它,就可以摆脱繁琐的插件配置、摆脱臃肿的IDE。

前言49.png


"AI自动补全工具",这个其实很久之前就有所耳闻,但是我却始终没有去尝试,因为,在我看来这两年人工智能泡沫太严重,各行各业都在蹭AI的热度,我想,也许"AI自动补全工具"也只不过是一个噱头吧。

在工作中,对于Python开发我一直都是以pycharm为主力。它也是Python开发中非常知名的一款IDE,支持DEBUG、格式提示、快速补全等等,有着非常吸引人的优点。尽管它非常臃肿、启动速度非常缓慢,但是对于追求补全速度的我来说,我还是选择忍受它的种种不足。

直到前不久在开发过程中发生的几次问题让我忍无可忍,我决心换掉这款工具,主要有如下几个原因:

  • 内存占用大:16G的内存,pycharm占据了1G以上,使得电脑卡顿
  • license服务器崩溃:购买的license总是莫名其妙的出问题
  • 臃肿:pycharm很强大,但是它的强大是建立在开启了很多辅助工具的基础上,这使得它非常臃肿卡顿

于是,我开始尝试不同的工具,VIM、vscode、sublime等。其中VIM在补全速度方面还可以,但是在windows下无法使用,而我有时在服务器下开发、有时会在windows下开发。至于vscode和sublime,界面和启动速度等都没的说,但是补全功能太弱,虽然配置了几款所谓的强大插件,但是依然跟不上编码的速度,于是,我又回到了pycharm,直到我遇到这款神奇的工具--kite,让我有一种柳暗花明的感觉,实在太强大了。

甚至Python之父Guido van Rossum都说I really love the line-of-code completions in the new kite.com,可见这款工具多么强大。

有了这一款工具,再也不用繁琐的配置sublime、vscode中各种插件和设置项了。

kite介绍

安装

kite是一款安装包+插件的工具,首先需要到官网下载kite的安装包,安装作为引擎,安装之后打开相应的编辑器或IDE安装kite的插件,然后就可以使用了,不用像sublime、vscode那样需要安装一堆插件还要到设置中配置Python路径之类的。

安装包下载可以直接到官网进行下载:

https://www.kite.com/download/

我把安装包进行共享了,如果访问官网速度比较慢,无法下载的话,可以在公众号后台回复kite获取。

双击安装

50.jpg


为什么推荐这款工具?

一款好的编程工具能够让编码效率事半功倍,它不仅避免我们逐个敲击代码,还避免我们去记忆一些函数的名称。目前有很多有名气的IDE\编辑器,pycharm、eclipse、spyder、Atom、sublime、vscode等,每个人都有自己的习惯和偏好,所以每个人心中都有自己最认可的工具。但是不可否认,pycharm在Python开发方面是使用最为广泛的一款,它最吸引我的一点就是补全速度。虽然sublime、vscode等也可以通过配置插件来实现Python自动补全,但是速度和效果等方面始终和pycharm有着巨大差距。

所以长久以来,尽管我也体会到它的种种缺点,我还是在坚持使用pycharm,直到最近我遇到这款kite之后。它是一款基于人工智能的代码补全和文档查询工具。我觉得完全可以脱离臃肿的pycharm,利用sublime、vscode这些轻量的编辑器与kite结合使用,即可以避免缓慢的开启速度,还可以实现不亚于pycharm的补全速度。

当然,kite的功能不仅限于补全,它主要包括:

  • 代码自动补全
  • 文档查询

代码自动补全

51.gif

直接来看一下它的补全速度,非常快。

目前的代码自动补全工具大多数都是通过上下文匹配、扫描第三方库的方式实现补全,这样都是通过你输入一个单词,它去扫描,可想而知,速度自然会很慢。但是kite则不同,它是通过人工智能的方式进行补全,当你输入一个单词,它能够像谷歌搜索那样,预测你接下来会输入什么,并按相关性进行排序。

它不仅支持Python内置函数补全,还支持第三方工具包的补全。此外,它还支持一些模块的补全,例如if...main...,能够极大的节省编码的时间,提升编码效率,经过统计,Kite的人工智能可以帮助减少47%的击键次数。

文档查询

当我们使用一个第三方库时,例如numpy、tensorflow、scipy等,我们对其中很多函数怎么使用?需要传入哪些参数并不清楚。当然你可以上网搜索一下,但是我认为现在网上的学习资料鱼龙混杂,最好的方法还是看文档,这样比较权威、严谨。

但是问题是去哪看文档?而且,找文档也很耗时间啊。

kite不仅可以自动补全的问题,它还可以解决文档查询的问题。

52.png

打开kite,输入你想搜索的模块,即可找到你想要看的文档。而且它非常简洁,

  • 怎么使用
  • 传入参数
  • 返回值

以最简单明了的几句话概括这个模块的使用方法。

支持平台

kite是一块完全免费的工具,它目前支持以下两个平台:

  • windows
  • linux

支持工具

kite支持以下几种IDE\编辑器:

  • pycharm
  • Atom
  • vscode
  • sublime
  • vim

因此,你有多种可选项,可以根据自己的喜好进行配置。即便你对目前所使用的编辑工具补全速度已经很满意了,我认为也不妨使用一下kite,用它作为一款文档查询工具,能够使得阅读文档效率大大提升。

支持语言

官方把它定义为一款Python自动补全工具,但是我在使用vscode开发javascript时发现kite同样能够实现补全,而且效果也不错,至于C++、Java等其他语言,我没有尝试,暂不清楚,感兴趣的可以试一下。

相关文章
|
20天前
|
安全 Java 数据处理
Python网络编程基础(Socket编程)多线程/多进程服务器编程
【4月更文挑战第11天】在网络编程中,随着客户端数量的增加,服务器的处理能力成为了一个重要的考量因素。为了处理多个客户端的并发请求,我们通常需要采用多线程或多进程的方式。在本章中,我们将探讨多线程/多进程服务器编程的概念,并通过一个多线程服务器的示例来演示其实现。
|
20天前
|
程序员 开发者 Python
Python网络编程基础(Socket编程) 错误处理和异常处理的最佳实践
【4月更文挑战第11天】在网络编程中,错误处理和异常管理不仅是为了程序的健壮性,也是为了提供清晰的用户反馈以及优雅的故障恢复。在前面的章节中,我们讨论了如何使用`try-except`语句来处理网络错误。现在,我们将深入探讨错误处理和异常处理的最佳实践。
|
2天前
|
网络协议 算法 网络架构
Python网络编程之udp编程、黏包以及解决方案、tcpserver
Python网络编程之udp编程、黏包以及解决方案、tcpserver
|
2天前
|
机器学习/深度学习 数据挖掘 算法框架/工具
Python:编程的艺术与魅力
Python:编程的艺术与魅力
11 3
|
5天前
|
机器学习/深度学习 数据挖掘 API
pymc,一个灵活的的 Python 概率编程库!
pymc,一个灵活的的 Python 概率编程库!
14 1
|
5天前
|
人工智能 算法 调度
uvloop,一个强大的 Python 异步IO编程库!
uvloop,一个强大的 Python 异步IO编程库!
18 2
|
6天前
|
机器学习/深度学习 人工智能 数据可视化
Python:探索编程之美
Python:探索编程之美
9 0
|
6天前
|
机器学习/深度学习 人工智能 数据处理
Python编程的魅力与实践
Python编程的魅力与实践
|
7天前
|
SQL 关系型数据库 MySQL
第十三章 Python数据库编程
第十三章 Python数据库编程
|
7天前
|
开发框架 程序员 开发者
Python GUI编程:从入门到精通3.2 GUI编程:学习使用Tkinter、PyQt或wxPython等库创建图形用户界面。
Python GUI编程:从入门到精通3.2 GUI编程:学习使用Tkinter、PyQt或wxPython等库创建图形用户界面。