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中threading模块join函数用法实例分析
Jun 04 Python
以视频爬取实例讲解Python爬虫神器Beautiful Soup用法
Jan 20 Python
教你用python3根据关键词爬取百度百科的内容
Aug 18 Python
python pandas dataframe 按列或者按行合并的方法
Apr 12 Python
Python第三方Window模块文件的几种安装方法
Nov 22 Python
python3学生名片管理v2.0版
Nov 29 Python
Python实现求两个数组交集的方法示例
Feb 23 Python
Python将视频或者动态图gif逐帧保存为图片的方法
Sep 10 Python
python 模拟创建seafile 目录操作示例
Sep 26 Python
python快速排序的实现及运行时间比较
Nov 22 Python
Python decimal模块使用方法详解
Jun 08 Python
解决python和pycharm安装gmpy2 出现ERROR的问题
Aug 28 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+mysql)
2007/11/23 PHP
克隆一个新项目的快捷方式
2013/04/10 PHP
php中删除数组的第一个元素和最后一个元素的函数
2015/03/07 PHP
原生php实现excel文件读写的方法分析
2018/04/25 PHP
thinkphp集成前端脚手架Vue-cli的教程图解
2018/08/30 PHP
PHP的微信支付接口使用方法讲解
2019/03/08 PHP
javascript实现unicode和字符的互相转换
2007/07/18 Javascript
input、button的不同type值在ajax提交表单时导致的陷阱
2009/02/24 Javascript
jquery中获得$.ajax()事件返回的值并添加事件的方法
2010/04/15 Javascript
JavaScript浏览器选项卡效果
2010/08/25 Javascript
分享27款非常棒的jQuery 表单插件
2011/03/28 Javascript
jQuery 浮动导航菜单适合购物商品类型的网站
2014/09/09 Javascript
JavaScript对数字的判断与处理实例分析
2015/02/02 Javascript
javascript实现获取服务器时间
2015/05/19 Javascript
JavaScript jQuery 中定义数组与操作及jquery数组操作
2015/12/18 Javascript
js删除数组元素、清空数组的简单方法(必看)
2016/07/27 Javascript
VUE实现表单元素双向绑定(总结)
2017/08/08 Javascript
详解jQuery同步Ajax带来的UI线程阻塞问题及解决办法
2017/08/09 jQuery
利用vscode调试编译后的js代码详解
2018/05/14 Javascript
前端axios下载excel文件(二进制)的处理方法
2018/07/31 Javascript
vue导航栏部分的动态渲染实例
2019/11/01 Javascript
Python实现以时间换空间的缓存替换算法
2016/02/19 Python
python 3.7.0 安装配置方法图文教程
2018/08/27 Python
Python 给定的经纬度标注在地图上的实现方法
2019/07/05 Python
python傅里叶变换FFT绘制频谱图
2019/07/19 Python
Python中typing模块与类型注解的使用方法
2019/08/05 Python
django model 条件过滤 queryset.filter(**condtions)用法详解
2020/05/20 Python
让ie浏览器成为支持html5的浏览器的解决方法(使用html5shiv)
2014/04/08 HTML / CSS
HTML5 video标签(播放器)学习笔记(一):使用入门
2015/04/24 HTML / CSS
北承题目(C++)
2012/05/16 面试题
个性发展自我评价
2014/02/11 职场文书
大学运动会入场词
2014/02/22 职场文书
2014年纪检部工作总结
2014/11/12 职场文书
优秀共产党员主要事迹材料
2015/11/05 职场文书
Java实现多文件上传功能
2021/06/30 Java/Android
golang连接MySQl使用sqlx库
2022/04/14 Golang