From: 大刘 菜鸟学Python

就在不久前,kite——那个能够自己编写python代码的AI,Python 之父 Guido van Rossum 使用之后,也发出了「really love」感叹,向大家墙裂推荐了这一高效工具。莫非程序员离“失业”又迈进了一步吗?要想知道这个答案,首先得看看kite的代码编写究竟能做到何种程度。

1什么是Kite

最新的kite是一款桌面应用程序,可以与现有的编辑器和终端进行集成化、并行运行,你可以将kite视为IDE的一个插件,它以大量的云端代码为基础,使用机器学习进行训练,从而预测下一步所需要写的代码,达到“智能编程”的效果。目前Kite支持的编辑器包括Sublime Text、emacs、vim、PyCharm和 Atom,支持windows和大多数linux操作系统。

根据官网的介绍,kite主要有以下几个作用和特点:

1).超强的代码补全功能

相对于传统的“单词”型代码补全,kite的AI模型在某些情况下可以根据上下文预测下一步需要的一系列代码元素,从而省去大量的修补工作,极大提升工作效率,在下图中的例子中,使用kite后的手动输入量比不使用kite几乎减少了1倍。此外,kite还具备简单的错误识别和修正功能。

2).友好的代码示例参考

当我们需要使用一个新的库或者函数的时候,通常会去查阅它的文档,而kite则提供了示例代码,它可以让我们跳过文档了解其他人(云端上的代码)是如何使用这个函数的(下图),这个功能同样适用于我们自己定义的方法。

3).清晰的终端索引文档

除了示例代码之外,kite还提供清晰的终端索引文档(下图),支持以统一的格式显示文档,其中收集了800多个带有代码示例的Python库,我们可以很轻松地获取文档、查询需要的内容。

kite发展至今绝非一日之功,从下面这张图能够看到kite最近的几个演化阶段,除了代码补全功能的增强外,最重要的一点就是实现了kite的本地化

要知道以前我们必须把自己的代码上传到云端才能享受kite提供的各种便利功能,虽然有一些加密措施,但安全和隐私方面还是存在不小隐患的。现在好了,我们将代码放在本地的计算机上也可以使用kite,安全性大大提升。

2 安装和配置

虽然kite目前已经支持linux,我在这里还是以windows为例进行演示,不管哪个版本的安装程序,都可以在kite官网进行下载。

下载并运行安装文件,kite安装完成后会弹出下图中的界面,要求选择安装模式——安装所有支持的IDE插件或者手动指定需要安装的插件,选择哪一个要根据自己的实际情况而定,如果你的电脑中安装了emacs、vim、PyCharm等大量的IDE,不妨选择第一项;如果仅仅安装了一两个IDE,个人建议选择第二项比较合适。

如果想用固定账号使用可以在此处输入自己的邮箱,否则直接点击最下边的“continue without email”也能够正常使用。

下图显示的是kite的文档页面,在右上角可以切换文档模式,在“follow cursor”模式下,kite会实时跟踪当前代码中正在输入的库和函数,并显示对应的文档。当然,无论在哪个模式下,在文本框中手动查找函数文档都是可行的。

点击上图中右下角的齿轮标签进入设置的Home页面,在这个页面中可以进行账号的相关操作,也可以进行风格设置。

然后切换到Plugins页面,这里可是kite能否顺利使用的关键。从下面这幅图中想必一眼就能看出是与IDE的关联集成有关,如果在安装后选择了手动安装指定的插件,就需要在这里为自己的IDE安装kite支持。虽说在官方说明中写的是支持多种编辑器,但其实kite还是很挑剔的,比如pycharm它只支持2018.01以后的版本,对sublime text 3则要求必须与kite安装在同一盘符。看来选择手动安装指定插件还是有好处的,不然怎么会发现这么多坑。

我不想更新pycharm版本,在经过一番折腾之后成功地实现了sublime与kite的集成,打开sublime后会在左下角出现“kite:ready”的字样(下图),证明安装关联成功。

3 效果实测

眼动不如手动,既然kite如此好用当然要亲自尝试一番了。

1).kite的代码补全和文档功能确实非常好用

我个人偏爱sublime,但是sublime有一个重大缺陷就是代码补全功能偏弱,这下问题得到了完美解决;另外,当kite文档切换到“following cursor”模式的时候,kite会自动跟踪当前光标所在的库或者方法,同步显示对应的文档信息。下图就是我在使用detetime模块时的代码提示效果和kite页面。

2).看下代码示例

紧接上一步的操作,当完整地输入准备使用的函数后,在光标附近就会弹出对应函数的使用样例

(下图)。当然,datetime.datetime.strptime方法的自由度比较低,所以给出的示例就比较单一,但是像matplotlib或者pandas中的有些方法,可能会给出很多条示例代码供我们参照。

需要注意一点,当kite和IDE的相关插件成功安装后,在启动IDE时kiteserver会自动加载,即使不启动kite应用程序也可以使用代码补全、示例提示等功能,不过如果要查阅文档的话,还是需要启动kite的。


最后说下我个人对kite的看法,其实与kite类似的项目还有很多,例如谷歌的AutoML系统、Codota公司的人工智能辅助编程项目等等。就目前来看,这些号称能够自动编程的人工智能还只能完成一些较为简单的任务,距离能代替人类程序员的程度还有很长的路要走。

因此程序员们暂时还不必担心这种人工智能的出现会导致失业,相反的,这些项目与其说是人工智能倒不如说是编程辅助工具,至少目前来看kite对提高我们的编程效率还是非常有帮助的,有兴趣的小伙伴不妨亲自尝试一下。

最后,我自己是一名从事了多年开发的Python老程序员,辞职目前在做自己的Python私人定制课程,今年年初我花了一个月整理了一份最适合2019年学习的Python学习干货,可以送给每一位喜欢Python的小伙伴,想要获取的可以关注我的头条号并在后台私信我:01,即可免费获取。

python hello world程序编写_自动编写Python程序的神器,Python 之父都发声力挺相关推荐

  1. 第九十七期:新版Kite:实时补全代码,Python之父都发声力挺!

    不久前,一个免费的专门针对 Python 的代码补全工具 Kite,有了新的动态. 作者:杨鲤萍 本文转自雷锋网,如需转载请至雷锋网官网申请授权. 不久前,一个免费的专门针对 Python 的代码补全 ...

  2. 【Ok周志】开源(程序功能:自动编写周志)

    [Ok周志]开源代码链接地址:https://github.com/Okroie/OkZZ.git 前段时间看了一本书名叫<大数据平台基础架构指南>作者是蘑菇街大数据平台负责人, 他在书中 ...

  3. python代码错误有哪些_在编写python代码时,小白最容易犯的十几个错误 !

    原标题:在编写python代码时,小白最容易犯的十几个错误 ! 1).忘记在 if , elif , else , for , while , class ,def 声明末尾添加 :(导致 " ...

  4. PYTHON/JAVA实现固定时间且自动发送邮件的程序

    PYTHON 实现固定时间且自动发送邮件的程序 import smtplib from email.mime.text import MIMEText from email.header import ...

  5. 在日本的python程序员_在日本做程序员是怎么一种体验?

    不请自来,人在东京,刚下--来东京一年多了. ------------------------------------- 最近好多人问我怎么到东京工作--? 首先,我说的很清楚了,我自己也是稀里糊涂来 ...

  6. 小程序 缩放_缩放流星应用程序的初体验

    小程序 缩放 by Elie Steinbock 埃莉·斯坦博克(Elie Steinbock) 缩放流星应用程序的初体验 (First Experiences Scaling a Meteor Ap ...

  7. python构造方法与java区别_一张图秒懂Java和Python的区别,你知道吗?

    对于程序员的语言千千万JAVA\C\C++\PHP\Python不同的程序员使用着不同的语言,做着功能相似需求却不同的产品. 但是最近Python在人工智能的推动下突然出现在人们的面前,其实和Java ...

  8. python手机端编程环境_移动端自动化测试解决方案(Appium + Python) - (1) 环境搭建...

    最近对iOS自动化测试做了一番探究,希望通过自动化测试更好的去提高公司项目的测试效率 .在网上找了很多的文章和相关资料,都因为时间比较久导致无法实现基本环境的搭建,我在这儿分享给大家分享我的实现过程. ...

  9. python入门教程傻瓜版_毫无基础的人如何入门 Python ?Python入门教程拿走不谢啦!...

    随着人工智能的发展,Python近两年也是大火,越来越多的人加入到Python学习大军,对于毫无基础的人该如何入门Python呢?这里整理了一些个人经验和Python入门教程供大家参考. 如果你是零基 ...

  10. python初中可以学吗_初中学历零基础想转行Python,能否学会?Python难吗?

    肯定的回答您:这个是一个技术工种学历不是很重要,完全能学会 其实,很多个程序员都是从不会到会,每种知识也是从基础到复杂,大家都是从零基础开始的,有的学员英语和数字基础也很差,从一点都不了解编码到现在非 ...

最新文章

  1. 周志华:最新实验表明gcForest已经是最好的非深度神经网络方法
  2. 定制键盘输入处理(1503)
  3. 计算机组成原理精品课程申报书,【计算机科学与技术专业】【毕业设计】计算机组成原理精品课程平台的设计与实现...
  4. Spring 5 新增全新的reactive web框架:webflux
  5. 【Tiny4412】 Tiny4412开发环境搭建
  6. hdu5279 YJC plays Minecraft 【分治NTT】
  7. 我刊成功承办第二届数据科学家大会(2018)
  8. 微信小程序点餐系统的开发与实现
  9. 在Ubuntu8.10中启用TrackPoint
  10. Bandizip如何加密档案内文件名(让别人无法预览)
  11. python操作模拟器多开操作_appium+python自动化60-windows上同时启动多个appium服务,让多个android机器并行运行...
  12. 电脑服务器不小心删除文件怎么办,电脑不小心删除的文件可以恢复吗?
  13. 统计推断—假设检验(hypothesis testing)
  14. BT技术概念 — 一些术语的意思
  15. Windows 7定时关机命令shutdown
  16. 微信小程序相册-笔记1
  17. 阿桑奇:维基解密将把CIA网络攻击工具资料提供给科技公司
  18. 小程序开发文档中没有告诉你的一些事情
  19. windows常用操作命令
  20. 【无线通信模块】GPRS DTU不稳定和容易掉线原因

热门文章

  1. [UESTC SC T2] 分解
  2. ts的小demo--贪吃蛇(尚硅谷教程笔记)
  3. 使用git来管理微信小程序
  4. django pdf转html5,pytho pdfkit 将网页django2.0教程内容打印成pdf文档
  5. android常用的存储方式,Android数据的四种存储方式
  6. mysql explain 派生表_MySQL explain 查询计划结果集学习笔记
  7. pyqt5 自定义控件_说人话的PYQT5『1』
  8. 同一宿主机docker之间的两种通信方式
  9. linux安装mysql phpmyadmin_如何在Linux下安装和配置PHPmyadmin?
  10. Angr安装与使用之使用篇(七)