成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Python的秘密武器有哪些

這篇文章主要介紹“Python的秘密武器有哪些”,在日常操作中,相信很多人在Python的秘密武器有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Python的秘密武器有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),班瑪企業(yè)網(wǎng)站建設(shè),班瑪品牌網(wǎng)站建設(shè),網(wǎng)站定制,班瑪網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,班瑪網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。

秘密武器#1:使用Kite可以更快地編寫代碼,減少Google編寫時間

大多數(shù)代碼編輯器具有自動完成功能,看起來像這樣:
Python的秘密武器有哪些

使用語言(有時是庫)文檔來建議函數(shù)名稱和參數(shù)之類的內(nèi)容。

當然可以,但是如果您的編輯器可以瀏覽GitHub數(shù)據(jù)多年并自動完成,不僅是函數(shù)名,還可以是整行代碼。

這只是使用Kite的三個理由中的第一個。

原因1:代碼行完成

風(fēng)箏會檢查您的代碼庫和變量,在線使用的常用參數(shù)名稱,文檔,然后提出如下超級上下文建議:

Python的秘密武器有哪些

上面的示例展示了Kite如何預(yù)測您將在通用名稱(如b)或通用名稱(如x或y)中使用的變量。

我們已經(jīng)花費了大約50年的工程師工作時間,在Github上對所有代碼進行語義索引,建立統(tǒng)計類型推斷,以及豐富的統(tǒng)計模型,這些模型可以非常深入地使用此語義信息。 — Kite創(chuàng)始人/首席執(zhí)行官Adam Smith

這是一個實時演示視頻,或者,如果您愿意,可以在沙盒中播放。

原因2:副駕駛進行文檔編制

Python的秘密武器有哪些

如果您從未聽說過" RTFM",那么您可能還沒有犯過我的錯誤。

無論如何,在給高級開發(fā)人員打電話或什至查看Stack Overflow答案之前,都應(yīng)始終閱讀文檔。

Kite Copilot使文檔愚蠢容易。 它與您的編輯器一起運行,并實時顯示您用光標突出顯示的任何對象/功能/等的文檔。

親愛的高級開發(fā)人員,我的第一份工作:對不起。 現(xiàn)在,我真的沒有借口不首先在文檔中尋找答案。

原因3:在本地私人運行

它是在本地運行的所有基礎(chǔ)之上,因此您可以獲得令人難以置信的快速建議,它可以脫機工作,并且您的代碼永遠不會發(fā)送到云中。

對于互聯(lián)網(wǎng)連接較差的人和在封閉源代碼庫中工作的人們來說,這是非常重要的。

結(jié)果

我使用風(fēng)箏已有多年了,而且一直在不斷進步。 憑借超過1700萬美元的投資,這家公司無處不在,而且由于某些愚蠢的原因,該工具是完全免費的。

您所要做的就是為您的編輯器下載Kite插件,或者下載副駕駛,它可以為您安裝插件。 去實現(xiàn)它(夢想);去得到它(東西!

秘密武器2:使用Mypy穩(wěn)定您的代碼

Python是動態(tài)類型的,一個過分簡化的解釋是您可以隨時將任何變量設(shè)為任何數(shù)據(jù)類型(字符串,整數(shù)等)。

# These two variable types are declared the exact same way
# Python figures out the data type on it's own, dynamically
# string
var_name = "string here"
# integer
var_name = 1234

相反的是靜態(tài)類型化的語言,其中變量必須具有一種特定的數(shù)據(jù)類型,并且必須始終遵循該數(shù)據(jù)類型。

# Many languages require the data type to be declared too
# string
str var_name = "string here"
# integer
int var_name = 1234

動態(tài)類型的優(yōu)點/缺點

動態(tài)鍵入的優(yōu)點是您在編寫時可以很懶惰,并且可以減少代碼混亂。

缺點很多,但也很大:

在開發(fā)周期的后期,您通常會遇到錯誤
由于Python不斷找出類型,因此代碼的執(zhí)行效果更差
函數(shù)不穩(wěn)定,因為其輸入和輸出可以更改數(shù)據(jù)類型而不會發(fā)出警告
交出代碼會更加不穩(wěn)定,因為其他人可能不知道您的變量是或可能成為哪種數(shù)據(jù)類型

Python中的靜態(tài)類型

輸入Mypy。 一個免費的Python模塊,可讓您在Python內(nèi)部使用靜態(tài)類型。

點安裝mypy之后,下面僅是一個使用示例:

# Declaring a function using normal dynamic typing, without mypy 
def iter_primes():  
# code here 
# Declaring the same function with mypy static typing 
    from typing import Iterator 
  def iter_primes() -> Iterator[int]: # code here

在mypy示例中,我們指定該函數(shù)返回一個整數(shù)迭代器。 通過執(zhí)行一致的輸出,此簡單的更改使該功能更適應(yīng)未來的需求。

其他開發(fā)人員只需查看聲明即可查看輸出將是哪種數(shù)據(jù)類型,并且與僅使用文檔不同,如果不遵守該聲明,您的代碼將出錯。

這是一個非常簡單的示例,摘自此處的示例,如果仍然沒有意義,請檢查一下它們。

結(jié)果

很難列出靜態(tài)鍵入可以減輕您將來痛苦的所有方式,但是mypy文檔具有很好的常見問題解答,但有更多的利弊。

如果您在穩(wěn)定至關(guān)重要的生產(chǎn)代碼庫中工作,請絕對嘗試一下mypy。

秘密武器#3:使用Sonarlint更快地發(fā)現(xiàn)錯誤并編寫更簡單的函數(shù)

如今,每個編輯器都有某種類型的錯誤檢查或內(nèi)置的" lint"。 它通常在不運行代碼的情況下查看代碼,并嘗試猜測可能出了什么問題。 這稱為靜態(tài)代碼分析。

Python的秘密武器有哪些

動態(tài)代碼分析實際上會嘗試運行/編譯部分代碼以查看其是否正常運行,但會在后臺自動執(zhí)行。 實際上,它無需猜測,而是知道它是否可以工作以及確切的錯誤是什么。

SonarLint處于最佳狀態(tài),是動態(tài)代碼分析領(lǐng)域的佼佼者。 這些功能是我喜歡它的原因:

注釋或未調(diào)用的代碼

我對在整個代碼庫中留下打印語句,注釋掉的代碼以及未使用的函數(shù)感到內(nèi)gui。 這將警告我,使其難以忘記,并告訴我它在哪里,易于查找。

安全風(fēng)險

實時將龐大的,不斷更新的安全風(fēng)險數(shù)據(jù)庫扔到您的代碼庫中,警告您可能面臨的任何已知漏洞。

安全風(fēng)險非常小眾,無法記住,因此每個人都應(yīng)該使用某種方法來跟蹤這些風(fēng)險。 SonarLint是一個不錯的起點。

永遠不會執(zhí)行的代碼

與未調(diào)用的代碼略有不同,如果我創(chuàng)建的評估結(jié)果無法達到,這將警告我。 這些問題很難發(fā)現(xiàn),可能會導(dǎo)致數(shù)小時的調(diào)試,因此這是我最喜歡的警告之一。

這是一個例子:

a = None 
if a == None or not a or a:  
    this_will_always_get_called() 
else: # sonarlint will warn you about this line never being executed  
    this_will_never_get_called()

認知復(fù)雜性

我可以寫一個完整的帖子,這是一個非常有趣的話題,實際上,上面有一個完整的白皮書。

簡單的解釋是,他們創(chuàng)建了一個數(shù)學(xué)公式,可以對代碼的閱讀/理解難度進行評分。

它不僅非常有用,而且易于遵循。 每當SonarLint要求我"降低認知復(fù)雜性"時,它都會附帶一個關(guān)于我違反的規(guī)則的簡單說明,例如"太多嵌套的if語句"。

結(jié)果

我發(fā)現(xiàn)這比基本的阻止和掉毛實踐有用,而且我相信這使我編寫了對人類友好的代碼。 順便說一句,這是Pythonic!

SonarLint是免費的,因此沒有理由不立即獲取它并將其附加到您的編輯器中。

到此,關(guān)于“Python的秘密武器有哪些”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

新聞名稱:Python的秘密武器有哪些
網(wǎng)頁鏈接:http://jinyejixie.com/article44/psephe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器網(wǎng)站設(shè)計公司、網(wǎng)站排名定制開發(fā)網(wǎng)頁設(shè)計公司、Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
孙吴县| 桃园市| 苗栗市| 丽江市| 平顶山市| 临武县| 尼玛县| 柯坪县| 离岛区| 洛南县| 柯坪县| 上饶市| 兴安盟| 六枝特区| 白银市| 会东县| 临江市| 福泉市| 云和县| 蒲江县| 黄骅市| 巴青县| 长岭县| 安乡县| 兴业县| 西安市| 阿尔山市| 昂仁县| 福海县| 山东| 太仓市| 宁城县| 深州市| 青铜峡市| 新泰市| 绍兴县| 涞源县| 永寿县| 宁乡县| 襄汾县| 三穗县|