最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

Python是一門動(dòng)態(tài)類型的語(yǔ)言,民間流傳一種說(shuō)法叫”動(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ù)中并沒(méi)有看到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

提示有兩處問(wèn)題:

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

剩下的事情就是按照錯(cuò)誤提示修正, 正如 PEP484 所說(shuō)的那樣,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ì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

相關(guān)文章

  • 深入了解Python枚舉類型的相關(guān)知識(shí)

    深入了解Python枚舉類型的相關(guān)知識(shí)

    這篇文章主要介紹了深入了解Python枚舉類型的相關(guān)知識(shí),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • python中的參數(shù)類型匹配提醒

    python中的參數(shù)類型匹配提醒

    這篇文章主要介紹了python中的參數(shù)類型匹配提醒,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • 基于Python制作IP查詢網(wǎng)站

    基于Python制作IP查詢網(wǎng)站

    這篇文章主要為大家詳細(xì)介紹了如何使用python快速做一個(gè)簡(jiǎn)易查內(nèi)網(wǎng)IP網(wǎng)站,通過(guò)電腦訪問(wèn)網(wǎng)站就知道自己的IP地址,感興趣的小伙伴可以了解下
    2024-10-10
  • Python模塊域名dnspython解析

    Python模塊域名dnspython解析

    本文主要介紹了Python模塊域名dnspython解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • python中文編碼問(wèn)題小結(jié)

    python中文編碼問(wèn)題小結(jié)

    這篇文章主要介紹了python中文編碼問(wèn)題,是Python程序設(shè)計(jì)中比較常見的一類問(wèn)題,本文以實(shí)例形式對(duì)此進(jìn)行了較為詳細(xì)的總結(jié),需要的朋友可以參考下
    2014-09-09
  • Pycharm中import torch報(bào)錯(cuò)的快速解決方法

    Pycharm中import torch報(bào)錯(cuò)的快速解決方法

    這篇文章主要介紹了Pycharm中import torch報(bào)錯(cuò)的快速解決方法,很多朋友容易碰到這個(gè)問(wèn)題,今天小編特此把解決方案分享到腳本之家平臺(tái)供大家參考,需要的朋友可以參考下
    2020-03-03
  • Python實(shí)現(xiàn)連接postgresql數(shù)據(jù)庫(kù)的方法分析

    Python實(shí)現(xiàn)連接postgresql數(shù)據(jù)庫(kù)的方法分析

    這篇文章主要介紹了Python實(shí)現(xiàn)連接postgresql數(shù)據(jù)庫(kù)的方法,結(jié)合實(shí)例形式分析了Python基于psycopg2和python3-postgresql鏈接postgresql數(shù)據(jù)庫(kù)的相關(guān)操作技巧,需要的朋友可以參考下
    2017-12-12
  • 針對(duì)Pandas的總結(jié)以及數(shù)據(jù)讀取_pd.read_csv()的使用詳解

    針對(duì)Pandas的總結(jié)以及數(shù)據(jù)讀取_pd.read_csv()的使用詳解

    這篇文章主要針對(duì)Pandas總結(jié)以及數(shù)據(jù)讀取_pd.read_csv()的使用詳解做出了實(shí)例,講解非常全面,值得收藏,需要的朋友可以參考下
    2023-03-03
  • Python中rapidjson參數(shù)校驗(yàn)實(shí)現(xiàn)

    Python中rapidjson參數(shù)校驗(yàn)實(shí)現(xiàn)

    通常需要對(duì)前端傳遞過(guò)來(lái)的參數(shù)進(jìn)行校驗(yàn),校驗(yàn)的方式有多種,本文主要介紹了Python中rapidjson參數(shù)校驗(yàn)實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • 簡(jiǎn)介Python中用于處理字符串的center()方法

    簡(jiǎn)介Python中用于處理字符串的center()方法

    這篇文章主要介紹了簡(jiǎn)介Python中用于處理字符串的center()方法,是Python入門中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-05-05

最新評(píng)論

汉沽区| 洛浦县| 万盛区| 白朗县| 盐池县| 抚顺市| 鸡泽县| 蒲城县| 黄石市| 吉林省| 黎川县| 太仆寺旗| 闻喜县| 图木舒克市| 北宁市| 浪卡子县| 博罗县| 梁平县| 赤峰市| 碌曲县| 安宁市| 仙居县| 吴桥县| 浠水县| 德清县| 嘉峪关市| 临安市| 尚义县| 日照市| 阿城市| 额敏县| 大英县| 靖远县| 安岳县| 华亭县| 收藏| 尚志市| 镇平县| 绥滨县| 江孜县| 都安|