亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python靜態(tài)類型檢查新工具之pyright 使用指南

 更新時(shí)間:2019年04月26日 10:10:28   作者:劉志軍  
這篇文章主要介紹了Python靜態(tài)類型檢查新工具之pyright 使用指南,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

Python是一門動(dòng)態(tài)類型的語(yǔ)言,民間流傳一種說法叫”動(dòng)態(tài)一時(shí)爽,重構(gòu)火葬場(chǎng)”,聽起來(lái)夠嚇人的,好在這門語(yǔ)言在不斷地改進(jìn),包括對(duì) PEP484 引入的類型提示(Type Hint),就是在某種程度上,讓Python能夠像靜態(tài)語(yǔ)言一樣支持類型聲明,例如:

def greeting(name: str) -> str:
 return 'Hello ' + name

這就意味著,如果有人調(diào)用 greeting函數(shù)的時(shí)候,傳入的參數(shù)不是字符串,你用靜態(tài)類型檢查工具一下就能查出來(lái)哪些地方?jīng)]有傳入正確類型的值。而 pyright 就是為此而生。

pyright 核心特性:

  • TypeScript 編寫,速度快
  • 不依賴Python環(huán)境
  • 可配置性強(qiáng)

我們可以直接在 vscode 搜索安裝插件 pyright

命令行工具可以使用 npm 安裝

sudo npm i -g pyright

如何使用pyright

假設(shè)有個(gè)python文件 hello.py,里面代碼是:

def greeting2(age:int) -> str:
 print("hello")
greeting2("nihao")
greeting2(1)

注意我給greeting2中的參數(shù)類型聲明是int,返回的返回值是字符串類型,但是在函數(shù)中并沒有看到return 返回值。直接運(yùn)行該文件不會(huì)有任何錯(cuò)誤

python hello.py
hello
hello

在VSCode中會(huì)直接有錯(cuò)誤提示信息:


如果我們用 pyright 檢查代碼,輸出信息:

pyright hello.py
Finding source files
Found 1 source files
Analyzed 1 file in 1.546sec
/Users/xxxx/Workspace/My/draft/hello.py
  Function with declared type of str must return value (1, 28)
  Argument of type 'str' cannot be assigned to parameter of type 'int' (4, 11)
2 errors, 0 warnings
Find Source Files:    0.001sec
Read Source Files:    0.012sec
Tokenize:             0.085sec
Parse:                0.17sec
Post-parse Walker:    0.147sec
Semantic Analyzer:    0.293sec
Type Analyzer:        0.766sec

提示有兩處問題:

  1. Function with declared type of str must return value (1, 28),函數(shù)聲明返回str類型的值,但是卻沒有返回
  2. Argument of type 'str' cannot be assigned to parameter of type 'int' (4, 11), 字符串值不能復(fù)制給int類型參數(shù)

剩下的事情就是按照錯(cuò)誤提示修正, 正如 PEP484 所說的那樣,Type Hint is not role , is tool。 它并不是規(guī)則,只是一個(gè)工具,幫助我們規(guī)避某些錯(cuò)誤。即使你傳錯(cuò)了參數(shù),程序編譯時(shí)并不會(huì)報(bào)錯(cuò),只有執(zhí)行到具體的業(yè)務(wù)代碼的時(shí)候才會(huì)出錯(cuò)。

GitHub地址:https://github.com/Microsoft/pyright

總結(jié)

以上所述是小編給大家介紹的Python靜態(tài)類型檢查新工具之pyright 使用指南,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

相關(guān)文章

  • Python深度學(xué)習(xí)之FastText實(shí)現(xiàn)文本分類詳解

    Python深度學(xué)習(xí)之FastText實(shí)現(xiàn)文本分類詳解

    FastText是一種典型的深度學(xué)習(xí)詞向量的表示方法,它非常簡(jiǎn)單通過Embedding層將單詞映射到稠密空間,然后將句子中所有的單詞在Embedding空間中進(jìn)行平均,進(jìn)而完成分類操作
    2022-09-09
  • python 利用棧和隊(duì)列模擬遞歸的過程

    python 利用棧和隊(duì)列模擬遞歸的過程

    這篇文章主要介紹了python 利用棧和隊(duì)列模擬遞歸的過程,文中并通過兩段代碼給大家介紹了下遞歸和非遞歸的區(qū)別,需要的朋友可以參考下
    2018-05-05
  • python定時(shí)檢測(cè)無(wú)響應(yīng)進(jìn)程并重啟的實(shí)例代碼

    python定時(shí)檢測(cè)無(wú)響應(yīng)進(jìn)程并重啟的實(shí)例代碼

    這篇文章主要介紹了python定時(shí)檢測(cè)無(wú)響應(yīng)進(jìn)程并重啟的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-04-04
  • Python實(shí)現(xiàn)超快窗口截圖功能詳解

    Python實(shí)現(xiàn)超快窗口截圖功能詳解

    這篇文章主要為大家詳細(xì)介紹了如何利用Python語(yǔ)言實(shí)現(xiàn)超快窗口截圖功能,可以自動(dòng)獲取當(dāng)前活動(dòng)窗口并展示截圖,感興趣的可以了解一下
    2022-05-05
  • Python實(shí)現(xiàn)七大查找算法的示例代碼

    Python實(shí)現(xiàn)七大查找算法的示例代碼

    這篇文章主要介紹了Python實(shí)現(xiàn)七大查找算法的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • python3編寫ThinkPHP命令執(zhí)行Getshell的方法

    python3編寫ThinkPHP命令執(zhí)行Getshell的方法

    這篇文章主要介紹了python3編寫ThinkPHP命令執(zhí)行Getshell的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2019-02-02
  • pandas 實(shí)現(xiàn)將NaN轉(zhuǎn)換為None

    pandas 實(shí)現(xiàn)將NaN轉(zhuǎn)換為None

    這篇文章主要介紹了pandas 實(shí)現(xiàn)將NaN轉(zhuǎn)換為None的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • 利用Tensorboard繪制網(wǎng)絡(luò)識(shí)別準(zhǔn)確率和loss曲線實(shí)例

    利用Tensorboard繪制網(wǎng)絡(luò)識(shí)別準(zhǔn)確率和loss曲線實(shí)例

    今天小編就為大家分享一篇利用Tensorboard繪制網(wǎng)絡(luò)識(shí)別準(zhǔn)確率和loss曲線實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2020-02-02
  • python中requests庫(kù)+xpath+lxml簡(jiǎn)單使用

    python中requests庫(kù)+xpath+lxml簡(jiǎn)單使用

    這篇文章主要介紹了python中requests庫(kù)+xpath+lxml簡(jiǎn)單使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • python操作xlsx格式文件并讀取

    python操作xlsx格式文件并讀取

    python操作xlsx格式文件是比較常見的一個(gè)問題,本文給大家介紹xlrd庫(kù)讀取,pandas庫(kù)讀取的實(shí)例代碼,給大家講解的很詳細(xì),需要的朋友跟隨小編一起看看吧
    2021-06-06

最新評(píng)論