Github Copilot 結合python的使用

頂級飲水機管理員發表於2021-07-19

之前提交的github copilot技術預覽版申請,今天收到准入郵件,於是安上試一試這個準備把我送去電子廠上班的copy a lot ?

官網及申請地址:https://copilot.github.com/


小作文包含如下內容:

  • copilot簡單介紹

  • 使用python對copilot做些簡單使用測試

  • 使用copilot對LeetCode 題目解答


一、copilot簡單介紹

image-20210719145925929

github copilot(副駕駛)目前只適用於vscode的擴充套件外掛,它依賴於github數十億公開程式碼庫的訓練而成的AI編碼輔助器(包括整行程式碼提供或函式建議),目前支援數十種程式語言,技術預覽版對 Python、JavaScript、TypeScript、Ruby 和 Go 的表現尤其出色。

他的工作原理:通過大量公共程式碼庫對AI模型訓練後構建成copilot服務,服務接收來自copilot外掛返回的提要編碼,並提供程式碼建議,外掛又將來自程式設計師對建議的採納性的回傳到copilot服務,如此反覆強化AI模型。

下圖以蔽之:

image-20210719150443888


二、使用python對copilot做些簡單使用測試

在vscode外掛中我們安上Github Copilot,建一個測試檔案Copilot_test.py

image-20210719152837439

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程式碼庫的檢索...

max_min

2.一個計算器

calculator

copilot給出的建議允許我們進行選擇,通過Alt+[,Alt+]對建議上下檢視。

image-20210719164153638

我們可以使用Ctrl+Eeter開啟建議結果皮膚,可以看到對應這些建議,copilot給了我們是10個解決方案

image-20210719164636671


三、使用copilot對LeetCode 題目解答

我們在LeetCode找一題【迴文數】,題目如下:

然後我們把題目寫到程式碼註釋中

image-20210719165443857

程式碼區的類也加過來

image-20210719165614176

看起來我們的程式碼就是這樣的,灰色code的copilot給出的建議

image-20210719165941775

我們選擇其中一種建議放到LeetCode的執行看看

image-20210719170230672

image-20210719170355312

這個建議似乎不太理想...勇敢牛牛不怕困難,有興趣的同學可以看看困難模式的題目哦,PS:對於中文的註釋不確定copilot能百分之百給出回應。


copilot就像它的名字一樣【副駕駛】,正經事還是得你來幹,不過未來可能會一個不錯的協助工具。


文章有不足的地方歡迎在評論區指出。

歡迎收藏、點贊、提問。關注頂級飲水機管理員,除了管燒熱水,有時還做點別的。

相關文章