Github 使用python对copilot做些简单使用测试


Posted in Python onApril 14, 2022

前言

之前提交的github copilot技术预览版申请,今天收到准入邮件,于是安上试一试这个准备把我送去电子厂上班的copy a lot ?

官网及申请地址:https://copilot.github.com/

小作文包含如下内容:

  • copilot简单介绍
  • 使用python对copilot做些简单使用测试
  • 使用copilot对LeetCode 题目解答

一、copilot简单介绍

Github 使用python对copilot做些简单使用测试

github copilot(副驾驶)目前只适用于vscode的扩展插件,它依赖于github数十亿公开代码库的训练而成的AI编码辅助器(包括整行代码提供或函数建议),目前支持数十种编程语言,技术预览版对 Python、JavaScript、TypeScript、Ruby 和 Go 的表现尤其出色。

他的工作原理:通过大量公共代码库对AI模型训练后构建成copilot服务,服务接收来自copilot插件返回的提要编码,并提供代码建议,插件又将来自程序员对建议的采纳性的回传到copilot服务,如此反复强化AI模型。

下图以蔽之:

Github 使用python对copilot做些简单使用测试

二、使用python对copilot做些简单使用测试

在vscode插件中我们安上Github Copilot,建一个测试文件Copilot_test.py

Github 使用python对copilot做些简单使用测试

1.获取列表的最大和最小值的函数

我们要写的可能看起来是这样的

'''
Function to get the max and min values of a list
'''
def get_max_min(my_list):
    max_value = max(my_list)
    min_value = min(my_list)
    return max_value, min_value

def main():
    my_list = [1,2,3,4,5]
    max_value, min_value = get_max_min(my_list)
    print("Max value:", max_value)
    print("Min value:", min_value)
    
if __name__ == "__main__":
    main()

注释是copilot的关键部分,所有AI的是基于大数据的应用,甚至可以把copilot简单的认为是对github代码库的检索…

Github 使用python对copilot做些简单使用测试

2.一个计算器

Github 使用python对copilot做些简单使用测试

copilot给出的建议允许我们进行选择,通过Alt+[,Alt+]对建议上下查看。

Github 使用python对copilot做些简单使用测试

我们可以使用Ctrl+Eeter打开建议结果面板,可以看到对应这些建议,copilot给了我们是10个解决方案

Github 使用python对copilot做些简单使用测试

三、使用copilot对LeetCode 题目解答

我们在LeetCode找一题【回文数】,题目如下:

Github 使用python对copilot做些简单使用测试

然后我们把题目写到代码注释中

Github 使用python对copilot做些简单使用测试

代码区的类也加过来

Github 使用python对copilot做些简单使用测试

看起来我们的代码就是这样的,灰色code的copilot给出的建议

Github 使用python对copilot做些简单使用测试

我们选择其中一种建议放到LeetCode的执行看看

Github 使用python对copilot做些简单使用测试

Github 使用python对copilot做些简单使用测试

这个建议似乎不太理想…勇敢牛牛不怕困难,有兴趣的同学可以看看困难模式的题目哦,PS:对于中文的注释不确定copilot能百分之百给出回应。

copilot就像它的名字一样【副驾驶】,正经事还是得你来干,不过未来可能会一个不错的协助工具。

总结

到此这篇关于Github Copilot结合python使用的文章就介绍到这了!

Python 相关文章推荐
Python中itertools模块用法详解
Sep 25 Python
Python捕捉和模拟鼠标事件的方法
Jun 03 Python
Python实现简单登录验证
Apr 13 Python
详解python3中socket套接字的编码问题解决
Jul 01 Python
Python中Selenium模拟JQuery滑动解锁实例
Jul 26 Python
浅谈Python中的私有变量
Feb 28 Python
python 基本数据类型占用内存空间大小的实例
Jun 12 Python
使用k8s部署Django项目的方法步骤
Jan 14 Python
Django之编辑时根据条件跳转回原页面的方法
Aug 21 Python
Python多线程通信queue队列用法实例分析
Mar 24 Python
python 牛顿法实现逻辑回归(Logistic Regression)
Oct 15 Python
PyCharm常用配置和常用插件(小结)
Feb 06 Python
使用Python拟合函数曲线
Apr 14 #Python
Python中生成随机数据安全性、多功能性、用途和速度方面进行比较
python中 .npy文件的读写操作实例
Apr 14 #Python
Python Matplotlib绘制等高线图与渐变色扇形图
python读取并查看npz/npy文件数据以及数据显示方法
Apr 14 #Python
在NumPy中深拷贝和浅拷贝相关操作的定义和背后的原理
Python捕获、播放和保存摄像头视频并提高视频清晰度和对比度
Apr 14 #Python
You might like
PHP图像处理之imagecreate、imagedestroy函数介绍
2014/11/19 PHP
php序列化函数serialize() 和 unserialize() 与原生函数对比
2015/05/08 PHP
PHP中preg_match函数正则匹配的字符串长度问题
2015/05/27 PHP
php实现的简单美国商品税计算函数
2015/07/13 PHP
Zend Framework入门之环境配置及第一个Hello World示例(附demo源码下载)
2016/03/21 PHP
ajax+php实现无刷新验证手机号的实例
2017/12/22 PHP
php 使用 __call实现重载功能示例
2019/11/18 PHP
php+js实现的拖动滑块验证码验证表单操作示例【附源码下载】
2020/05/27 PHP
javascript学习(二)javascript常见问题总结
2013/01/02 Javascript
js实时获取系统当前时间实例代码
2013/06/28 Javascript
jQuery制作拼图小游戏
2015/01/12 Javascript
jQuery实现DIV层收缩展开的方法
2015/02/27 Javascript
jQuery-1.9.1源码分析系列(十)事件系统之事件包装
2015/11/20 Javascript
使用jquery实现鼠标滑过弹出更多相关信息层附源码下载
2015/11/23 Javascript
jQuery EasyUi实战教程之布局篇
2016/01/26 Javascript
实例讲解JS中setTimeout()的用法
2016/01/28 Javascript
JS变量中有var定义和无var定义的区别以及es6中let命令和const命令
2017/02/19 Javascript
Angular 项目实现国际化的方法
2018/01/08 Javascript
详解VUE自定义组件中用.sync修饰符与v-model的区别
2018/06/26 Javascript
Vue2.x通用编辑组件的封装及应用详解
2019/05/28 Javascript
详解Angular cli配置过程记录
2019/11/07 Javascript
[00:55]深扒TI7聊天轮盘语音出处3
2017/05/11 DOTA
开始着手第一个Django项目
2015/07/15 Python
Python3实现的画图及加载图片动画效果示例
2018/01/19 Python
Python不使用int()函数把字符串转换为数字的方法
2018/07/09 Python
python开发游戏的前期准备
2019/05/05 Python
flask 框架操作MySQL数据库简单示例
2020/02/02 Python
Python第三方库的几种安装方式(小结)
2020/04/03 Python
tensorflow使用freeze_graph.py将ckpt转为pb文件的方法
2020/04/22 Python
python中slice参数过长的处理方法及实例
2020/12/15 Python
HTML5几个设计和修改的页面范例分享
2015/09/29 HTML / CSS
英国在线汽车和面包车零件商店:Car Parts 4 Less
2018/08/15 全球购物
争论的故事教学反思
2014/02/06 职场文书
市场拓展计划书
2014/05/03 职场文书
2014年结对帮扶工作总结
2014/12/17 职场文书
关于MySQL中explain工具的使用
2023/05/08 MySQL