-
一、安裝插件
- Step 1 環(huán)境準(zhǔn)備
- Step 2 插件安裝
- Step 3 插件注冊
- Step 4 注冊成功
-
二、AI 代碼生成和學(xué)習(xí)
- 效果 1:寫注釋自動生成代碼
- 效果 2:自動補(bǔ)齊代碼 - 列表
- 效果 3:自動補(bǔ)齊代碼 - for 循環(huán)
- 效果 4:自動補(bǔ)齊代碼 - 條件判斷
-
三、基于 Amazon CodeWhisperer 的 Python 學(xué)習(xí)
- 3.1 變量和數(shù)據(jù)類型
- 3.2 控制結(jié)構(gòu)
- 3.3 函數(shù)
- 3.4 類和對象
- 3.5 文件操作
- 3.6 異常處理
- 3.7 列表推導(dǎo)式
- 四、AI 引用追蹤
- 五、AI 安全掃描
- 六、使用心得
AI 不會淘汰程序員,但市場會淘汰不會使用 AI 的程序員。 -- 魯迅
掌握自動化工具對程序員的意義:
-
高效率產(chǎn)出,提升核心競爭力(卷死你們)
-
可以將更多的精力用于劃水喝水和抬頭看路
今天的神器是:Amazon CodeWhisperer。 ---- 一種采用機(jī)器學(xué)習(xí)(ML)的服務(wù),可以根據(jù)開發(fā)人員用自然語言編寫的注釋和集成式開發(fā)環(huán)境(IDE)中的代碼生成代碼建議,幫助開發(fā)人員提高工作效率,可以為您的應(yīng)用程序提供代碼審查、安全掃描和性能優(yōu)化。
AI 技術(shù)發(fā)展日新月異,正掀起新的編程范式變革。從代碼生成到智能編程助手,AI 技術(shù)進(jìn)一步提高開發(fā)效率和代碼質(zhì)量,推動軟件開發(fā)的快速發(fā)展。為幫助開發(fā)者更快、更安全地構(gòu)建應(yīng)用程序,亞馬遜云科技推出的 AI 編程助手 Amazon CodeWhisperer,有效提高開發(fā)人員生產(chǎn)力。
為了讓更多開發(fā)者體驗這前沿智能編程工具,探索高效、智能的編程范式,擁抱 AI 新變革“用 AI 助力,提升編程效率 ———— Amazon CodeWhisperer 探索之旅”活動乘風(fēng)啟航!
CodeWhisperer 經(jīng)過數(shù)十億行代碼的訓(xùn)練,可以根據(jù)評論和現(xiàn)有代碼實(shí)時生成從代碼片段到全函數(shù)的代碼建議。 除了代碼生成,還可用于引用追蹤和安全掃描等。
一、安裝插件
Step 1 環(huán)境準(zhǔn)備
Pycharm 下載地址(最好用的 Python 客戶端,沒有之一),支持 Windows、macOS、Linux
https://www.jetbrains.com.cn/pycharm/download/?section=mac
當(dāng)然,對功能有所追求的小伙伴,可以選擇 專業(yè)付費(fèi)版,滿足日常使用的話,免費(fèi)社區(qū)版 足矣。
Step 2 插件安裝
演示環(huán)境: mac * PyCharm
西紅柿演示的是 PyCharm,VSCode, IntelliJ 等 IDE 中也類似操作即可。在 Windows, Mac, Linux 等主流操作系統(tǒng)同樣支持。
Step 3 插件注冊
選擇左下角:"AWS Toolkit" > "Devoloper Tools" > "Start"
個人用戶登錄,輸入你的郵箱。
Step 4 注冊成功
注冊后,可以看到如圖效果,就可以開始編程拉。
二、AI 代碼生成和學(xué)習(xí)
效果 1:寫注釋自動生成代碼
輸入注釋:
#?example?Python?class?for?a?simple?calculator
彈窗 3 種狀態(tài):
-
Insert Code : 插入推薦的代碼
-
Previous : 上一個推薦方案
-
Next: 下一個推薦方案
只需要選擇: 回車,自動生成了計算器的方法,包括:加、減、乘、除
#?example?Python?class?for?a?simple?calculator
class?SimpleCalculator:
????def?add(self,?a,?b):
????????return?a?+?b
????def?subtract(self,?a,?b):
????????return?a?-?b
????def?multiply(self,?a,?b):
????????return?a?*?b
????def?divide(self,?a,?b):
????????return?a?/?b
效果 2:自動補(bǔ)齊代碼 - 列表
Python 列表是一種有序、可變、可以包含任意類型數(shù)據(jù)的集合。它是 Python 中最常用的數(shù)據(jù)類型之一,可以用于存儲和操作多個數(shù)據(jù)元素。
創(chuàng)建列表: 方括號 [] 來創(chuàng)建一個空列表,或者在方括號中包含一些元素來創(chuàng)建一個具有初始值的列表。
例如:?test_list?=?[]?創(chuàng)建一個空列表
test_list?=?[1,?2,?3,?4,?5]
test_list.append(6)
輸出:
[1,?2,?3,?4,?5,?6]
輸入: test_list = [1,2
輸出: test_list = [1,2,3,4,5,6,7,8,9,10]
效果 3:自動補(bǔ)齊代碼 - for 循環(huán)
循環(huán)語句可以分為有限循環(huán)語句和無限循環(huán)語句兩種。
Python for 循環(huán)是一種用于遍歷可迭代對象(如列表、元組、字符串等)的循環(huán)結(jié)構(gòu)。在 Python 中,for 循環(huán)語句的組成要素包括關(guān)鍵字 for、迭代變量和可迭代對象。
for?i?in?test_list:
????if?i?==?5:
????????print('我是five')
????????break
效果 4:自動補(bǔ)齊代碼 - 條件判斷
Python 中的條件判斷語句為“if 語句”。與 C 語言中 if 語句的書寫不同之處在于:python 中 else if 可以寫成 elif,而 C 語言不能。
if 語句是從上到下進(jìn)行判斷的。
test_list?=?[1,?2,?3,?4,?5]
for?i?in?test_list:
????if?i?==?3:
????????print('我是3')
????elif?i?==?4:
????????print('我是4')
三、基于 Amazon CodeWhisperer 的 Python 學(xué)習(xí)
3.1 變量和數(shù)據(jù)類型
變量和數(shù)據(jù)類型:Python中有多種數(shù)據(jù)類型,如整數(shù)(int)、浮點(diǎn)數(shù)(float)、字符串(str)、列表(list)、元組(tuple)、字典(dict)等。
Python中的常見數(shù)據(jù)類型包括:
-
數(shù)字類型:包括整型(int)、浮點(diǎn)型(float)、復(fù)數(shù)型(complex)等。
-
字符串類型:用單引號或雙引號括起來的字符序列,如'hello'、"world"等。
-
列表類型:用方括號括起來的有序元素集合,如[1, 2, 3]、['apple', 'banana', 'cherry']等。
-
元組類型:與列表類似,但是元組的元素不能修改,如(1, 2, 3)、('apple', 'banana', 'cherry')等。
-
集合類型:無序的不重復(fù)元素集合,如{1, 2, 3}、{'apple', 'banana', 'cherry'}等。
-
字典類型:用花括號括起來的鍵值對集合,如{'name': 'Alice', 'age': 25}等。
3.2 控制結(jié)構(gòu)
控制結(jié)構(gòu):包括條件語句(if-elif-else)、循環(huán)語句(for、while)等。
Python中的控制結(jié)構(gòu)包括條件語句、循環(huán)語句等,用于控制程序的執(zhí)行流程。
條件語句
條件語句用于根據(jù)條件的真假來選擇不同的代碼塊執(zhí)行。在Python中,條件語句使用if、elif和else關(guān)鍵字來實(shí)現(xiàn)。
語法:
Copyif?condition1:
????#?code?block?1
elif?condition2:
????#?code?block?2
else:
????#?code?block?3
其中,condition1、condition2為判斷條件,如果滿足條件則執(zhí)行相應(yīng)的代碼塊。
示例:
Copyage?=?18
if?age?<?18:
????print("未成年")
elif?age?>=?18?and?age?<?60:
????print("成年")
else:
????print("老年")
循環(huán)語句
循環(huán)語句用于重復(fù)執(zhí)行一段代碼。在Python中,循環(huán)語句使用for和while關(guān)鍵字來實(shí)現(xiàn)。
語法:
for?item?in?iterable:
????#?code?block
while?condition:
????#?code?block
其中,iterable為可迭代對象,item為每次迭代時取出的元素;condition為循環(huán)條件,當(dāng)條件滿足時執(zhí)行循環(huán)體中的代碼塊。
示例:
#?for循環(huán)
for?i?in?range(5):
????print(i)
#?while循環(huán)
count?=?0
while?count?<?5:
????print(count)
????count?+=?1
3.3 函數(shù)
函數(shù):使用def關(guān)鍵字定義函數(shù),可以實(shí)現(xiàn)代碼的復(fù)用。
Python函數(shù)是一段可重用的代碼塊,用于執(zhí)行特定的任務(wù)。函數(shù)可以接收輸入?yún)?shù)并返回結(jié)果。在Python中,函數(shù)使用def關(guān)鍵字定義,后跟函數(shù)名和括號內(nèi)的參數(shù)列表。函數(shù)體由縮進(jìn)的代碼塊組成。
以下是一個簡單的Python函數(shù)示例:
def?greet(name):
????return?"Hello,?"?+?name?+?"!"
print(greet("World"))
在這個示例中,定義了一個名為greet的函數(shù),它接受一個名為name的參數(shù)。函數(shù)返回一個字符串,其中包含問候語和傳遞給函數(shù)的名稱。西紅柿通過調(diào)用greet函數(shù)并傳遞"World"作為參數(shù)來測試這個函數(shù)。輸出結(jié)果應(yīng)該是"Hello, World!"。
3.4 類和對象
類和對象:使用class關(guān)鍵字定義類,通過實(shí)例化創(chuàng)建對象。
類(Class)
類是一種抽象的概念,用于描述具有相同屬性和方法的對象的集合。在Python中,可以使用class關(guān)鍵字來定義一個類。例如:
class?Person:
????def?__init__(self,?name,?age):
????????self.name?=?name
????????self.age?=?age
????def?say_hello(self):
????????print("Hello,?my?name?is",?self.name)
這個例子中,我們定義了一個名為Person的類,它有兩個屬性name和age,以及一個方法say_hello。
對象(Object)
對象是類的實(shí)例,也就是具體的實(shí)體。在Python中,可以通過調(diào)用類來創(chuàng)建一個對象。例如:
p?=?Person("Tom",?20)
這個例子中,我們創(chuàng)建了一個名為p的Person對象,并給它傳遞了兩個參數(shù)"Tom"和20。
對象可以訪問類中定義的屬性和方法。例如:
Copyp.name?=?"Jerry"
p.age?=?25
p.say_hello()
這個例子中,我們給p對象分別設(shè)置了name、age屬性,并調(diào)用了say_hello方法。輸出結(jié)果為:"Hello, my name is Jerry"。
3.5 文件操作
文件操作:使用open()函數(shù)打開文件,read()、write()等方法進(jìn)行文件的讀寫操作。
Python提供了許多內(nèi)置函數(shù)和模塊來處理文件操作。以下是一些常用的文件操作函數(shù)和模塊:
打開文件:使用open()函數(shù)打開文件,并返回一個文件對象。例如:
file?=?open("example.txt",?"r")
這個例子中,我們打開了一個名為example.txt的文件,并以只讀模式("r")打開它。
讀取文件:使用read()方法讀取文件中的所有內(nèi)容。例如:
content?=?file.read()
print(content)
這個例子中,我們讀取了文件的全部內(nèi)容,并將其打印出來。
寫入文件:使用write()方法將文本寫入文件中。例如:
Copyfile?=?open("example.txt",?"w")
file.write("Hello,?world!")
file.close()
這個例子中,我們以寫入模式("w")打開了一個名為example.txt的文件,并將字符串"Hello, world!"寫入其中。
關(guān)閉文件:使用close()方法關(guān)閉已打開的文件。例如:
Copyfile.close()
3.6 異常處理
異常處理:使用try-except語句捕獲和處理異常。
在Python中,異常處理是一種機(jī)制,用于處理程序運(yùn)行時可能出現(xiàn)的錯誤或異常情況。當(dāng)程序執(zhí)行過程中遇到錯誤時,Python解釋器會引發(fā)一個異常,如果沒有適當(dāng)?shù)奶幚頇C(jī)制,程序?qū)K止并顯示錯誤信息。為了避免這種情況的發(fā)生,我們可以使用異常處理來捕獲和處理這些異常。
Python中的異常處理通常使用try-except語句來實(shí)現(xiàn)。try塊包含可能引發(fā)異常的代碼,而except塊則包含處理異常的代碼。如果try塊中的代碼引發(fā)了異常,那么try塊后面的代碼將被跳過,Python解釋器將查找與該異常匹配的except塊,并執(zhí)行其中的代碼。
以下是一個簡單的Python異常處理示例:
x?=?1?/?0
except?ZeroDivisionError:
????print("除數(shù)不能為零")
在這個例子中,我們嘗試執(zhí)行一個除以零的操作,這會引發(fā)一個ZeroDivisionError異常。由于我們在try塊后面使用了except塊來捕獲這個異常,因此當(dāng)異常發(fā)生時,程序不會終止,而是執(zhí)行except塊中的代碼,打印出"除數(shù)不能為零"。
除了使用特定的異常類型來捕獲異常外,我們還可以使用一個通用的except塊來捕獲所有類型的異常。例如:
#?some?code?that?may?raise?an?exception
except?Exception?as?e:
????print("發(fā)生了一個錯誤:",?e)
在這個例子中,我們使用了一個通用的except塊來捕獲所有類型的異常,并將異常對象存儲在變量e中。然后,我們可以打印出異常的信息。
3.7 列表推導(dǎo)式
Python列表推導(dǎo)式是一種快速創(chuàng)建列表的方法,它使用一種簡潔的語法結(jié)構(gòu)來生成一個新的列表。列表推導(dǎo)式通常包括一個可迭代對象(如列表、元組、集合等)和一個表達(dá)式,該表達(dá)式用于計算新列表中的每個元素。
列表推導(dǎo)式的語法如下:
[expression?for?item?in?iterable?if?condition]
其中:
-
expression:用于計算新列表中每個元素的表達(dá)式。
-
item:從可迭代對象中獲取的每個元素。
-
iterable:一個可迭代對象,如列表、元組、集合等。
-
condition:可選的條件表達(dá)式,用于過濾滿足條件的元素。
例如,我們可以使用列表推導(dǎo)式創(chuàng)建一個包含1到10之間所有偶數(shù)的列表:
even_numbers?=?[x?for?x?in?range(1,?11)?if?x?%?2?==?0]
print(even_numbers)??#?輸出:[2,?4,?6,?8,?10]
在這個例子中,我使用了range(1, 11)作為可迭代對象,x表示從可迭代對象中獲取的每個元素,x % 2 == 0作為條件表達(dá)式,用于過濾出偶數(shù)。
四、AI 引用追蹤
代碼引用追蹤是一種調(diào)試技術(shù),它可以幫助開發(fā)人員確定程序中變量和函數(shù)的引用關(guān)系。在程序運(yùn)行時,每個變量和函數(shù)都可能被其他代碼引用或調(diào)用。
通過代碼引用追蹤,開發(fā)人員可以查看這些引用關(guān)系,從而更好地理解程序的執(zhí)行過程和邏輯。
代碼引用追蹤通常用于調(diào)試復(fù)雜的程序,特別是在處理大量數(shù)據(jù)或執(zhí)行復(fù)雜算法時。它可以幫助我們找到程序中的錯誤和瓶頸,并提供有關(guān)如何優(yōu)化代碼的建議。此外,代碼引用追蹤還可以幫助我們更好地理解代碼的執(zhí)行時間和內(nèi)存使用情況,從而更好地優(yōu)化程序的性能。
五、AI 安全掃描
代碼安全掃描是一種檢查代碼中安全漏洞的方法。它可以幫助企業(yè)確保其代碼庫中的代碼不包含潛在的安全漏洞,從而保護(hù)企業(yè)的數(shù)據(jù)和資產(chǎn)。
代碼安全掃描可以通過 Amazon CodeWhisperer 自動化工具來完成,它可以檢查代碼中的常見漏洞,如 SQL 注入、跨站點(diǎn)腳本(XSS)和跨站請求偽造(CSRF)等。此外,代碼安全掃描還可以幫助開發(fā)人員識別和修復(fù)其代碼中的錯誤和不規(guī)范之處。
六、使用心得
通過初步使用,已經(jīng)愛不釋手了,主要體現(xiàn)在以下幾點(diǎn):
-
使用流暢:Amazon CodeWhisperer 使用體驗流暢,能夠通過注釋生成代碼,或者通過 AI 技術(shù),推薦我將要寫的代碼。 這對于初學(xué)者非常友好,能夠快速學(xué)習(xí)常用的接口調(diào)用方式和語法,簡直是快速上手學(xué)習(xí) Python 的神器。
-
文檔和學(xué)習(xí)資源豐富:Amazon CodeWhisperer 提供了詳細(xì)且豐富的文檔和學(xué)習(xí)資源,甚至包括視頻,對開發(fā)者友好,并且提供了高級操作的教程,如:自動化代碼測試等。
-
多語音和平臺的支持:除了西紅柿的演示環(huán)境:mac _ pycharm _ Python。CodeWhisperer 支持多達(dá) 15 種開發(fā)語言,同樣可以自動生成代碼等等。
-
語法錯誤檢測:CodeWhisperer 可以檢測你的代碼中的潛在語法錯誤,并給出相應(yīng)的提示和修復(fù)建議。
-
實(shí)時代碼建議:CodeWhisperer 可以根據(jù)你輸入的代碼片段,提供實(shí)時的代碼建議和自動完成功能,讓你更快地編寫代碼。文章來源:http://www.zghlxwxcb.cn/news/detail-713619.html
總之,CodeWhisperer 是一款非常實(shí)用的代碼編輯器插件,可以助我提高編程效率和代碼質(zhì)量。如果你也是一名開發(fā)者,可以考慮使用 CodeWhisperer 來搞點(diǎn)事情了。文章來源地址http://www.zghlxwxcb.cn/news/detail-713619.html
到了這里,關(guān)于想劃水、如何讓 AI 替我打工,并讓我快速學(xué) Python?的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!