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

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

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

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

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

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

pyright 核心特性:

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

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

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

sudo npm i -g pyright

如何使用pyright

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

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

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

python hello.py
hello
hello

在VSCode中會直接有錯誤提示信息:


如果我們用 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ù)

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

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

總結(jié)

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

相關(guān)文章

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

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

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

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

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

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

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

    Python模塊域名dnspython解析

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

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

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

    Pycharm中import torch報錯的快速解決方法

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

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

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

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

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

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

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

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

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

最新評論

五寨县| 乐至县| 莆田市| 沐川县| 长春市| 西林县| 安化县| 玉山县| 武邑县| 淄博市| 泾阳县| 怀安县| 安庆市| 崇信县| 岳阳县| 南溪县| 玛沁县| 甘孜县| 曲水县| 麦盖提县| 塔河县| 那坡县| 县级市| 应用必备| 澄江县| 定南县| 无棣县| 九龙坡区| 枣强县| 保定市| 荆州市| 惠州市| 江北区| 宝丰县| 余江县| 沭阳县| 虎林市| 敖汉旗| 葵青区| 美姑县| 大田县|