偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

2022年現(xiàn)代Python編程的四個(gè)關(guān)鍵點(diǎn)

開(kāi)發(fā) 后端
為了方便大家能夠更好的采用Python,利用該語(yǔ)言中所有新的和強(qiáng)大的功能;InfoWorld 歸納總結(jié)了開(kāi)發(fā)人員在 2022 年編寫(xiě)現(xiàn)代 Python 時(shí)所需要理解的一些關(guān)鍵概念。

作為一個(gè)誕生已有 30 余年的編程語(yǔ)言,Python 的流行度在近幾年迎來(lái)了爆炸性的增長(zhǎng)。為了方便大家能夠更好的采用 Python,利用該語(yǔ)言中所有新的和強(qiáng)大的功能;InfoWorld 歸納總結(jié)了開(kāi)發(fā)人員在 2022 年編寫(xiě)現(xiàn)代 Python 時(shí)所需要理解的一些關(guān)鍵概念。總共四個(gè)方面,具體如下:

1、Python 中的類(lèi)型提示

Python 最近引入的類(lèi)型提示語(yǔ)法允許 linter 和第三方代碼質(zhì)量工具在運(yùn)行前分析你的代碼,并在檢測(cè)出可能發(fā)生的錯(cuò)誤。你創(chuàng)建的 Python 代碼與他人共享的次數(shù)越多,大家就越有可能從使用類(lèi)型提示中受益。Python 的每個(gè)后續(xù)版本都推出了更復(fù)雜、更強(qiáng)大的類(lèi)型注解。如果你養(yǎng)成了在短期內(nèi)學(xué)習(xí)如何使用類(lèi)型注解的習(xí)慣,那么就能夠更好地利用每一種新的類(lèi)型提示創(chuàng)新。重要的是要記住類(lèi)型提示是可選的,而不是必須的。不是每個(gè)項(xiàng)目都需要它們,類(lèi)型提示可以使你的大項(xiàng)目變得易懂,但小項(xiàng)目卻并不必要。值得注意的是,雖然在運(yùn)行時(shí)不強(qiáng)制執(zhí)行類(lèi)型提示,但你可以使用 Pydantic 來(lái)使之成為可能。許多廣泛使用的 Python 項(xiàng)目:如 FastAPI,都廣泛使用 Pydantic。

2、Python 虛擬環(huán)境和包管理

對(duì)于簡(jiǎn)單的項(xiàng)目和要求不高的開(kāi)發(fā)工作,通??梢灾皇褂?Python 的內(nèi)置venv工具將項(xiàng)目及其需求分開(kāi)。但 Python 工具的最新進(jìn)展則為開(kāi)發(fā)人員提供了更多選擇:

Pyenv:如果你需要安裝多個(gè) Python 版本(3.8、3.9、3.10)以滿足不同的項(xiàng)目要求,Pyenv 允許你在每個(gè)項(xiàng)目的基礎(chǔ)上在它們之間進(jìn)行全局切換。值得注意的是,它沒(méi)有官方的 Windows 支持,但確實(shí)存在非官方的 Windows port。

Pipenv:被稱(chēng)為“Python dev workflow for humans”,Pipenv 旨在管理虛擬環(huán)境以及項(xiàng)目的所有依賴項(xiàng)。它還確保依賴關(guān)系是確定性的 —— 你得到你想要的特定版本,并且它們以你要求的組合方式工作。但是,Pipenv 不涉及任何形式的打包,因此對(duì)于你最終想要上傳到 PyPI 或與他人共享的項(xiàng)目來(lái)說(shuō),它并不理想。

Poetry:Poetry 擴(kuò)展了 Pipenv 的工具集,不僅可以管理項(xiàng)目和需求,還可以輕松地將項(xiàng)目部署到 PyPI。它還為你管理獨(dú)立于項(xiàng)目目錄的虛擬環(huán)境。

PDM:PDM(“Python Development Master”的縮寫(xiě))是這方面最新的前沿項(xiàng)目。與 Poetry 和 Pipenv 一樣,PDM 為你提供了一個(gè)用于設(shè)置項(xiàng)目、管理其依賴項(xiàng)以及從中構(gòu)建分發(fā)工件的單一界面。PDM 還使用 PEP 582 標(biāo)準(zhǔn)將包本地存儲(chǔ)到項(xiàng)目中,因此無(wú)需創(chuàng)建每個(gè)項(xiàng)目的虛擬環(huán)境。但是這個(gè)工具相對(duì)較新,所以在生產(chǎn)中采用它之前要確保它能暫時(shí)工作。

3、新的 Python 語(yǔ)法

Python 的發(fā)展意味著該語(yǔ)言本身增加了許多新功能。Python 最新的幾個(gè)版本中添加了一些有用的語(yǔ)法結(jié)構(gòu),使其更強(qiáng)大和更簡(jiǎn)潔程。最近增加的一些內(nèi)容包括:Pattern matching最近最大的新增功能是結(jié)構(gòu)模式匹配,出現(xiàn)在 Python 3.10 中。它不僅僅是所謂的“switch/case for Python”,還可以讓你根據(jù)對(duì)象的內(nèi)容或結(jié)構(gòu)做出控制流決策。The ‘walrus operator’因其外觀 (:=) 而得名,在 Python 3.8 中添加的“walrus operator(海象操作符)”引入了賦值表達(dá)式,這是一種將一個(gè)值賦給一個(gè)變量,然后在一個(gè)步驟中對(duì)該變量進(jìn)行測(cè)試的方法。它可以在許多常見(jiàn)情況下減少冗長(zhǎng)的代碼,例如檢查函數(shù)的返回值同時(shí)保留結(jié)果。Positional-only parameters最近對(duì) Python 語(yǔ)法的一個(gè)小而有用的新增功能 positional-only parameters 允許你指明哪些函數(shù)參數(shù)必須指定為位置參數(shù),而不是關(guān)鍵字參數(shù)。這樣做的基本原理通常包括提高代碼庫(kù)的清晰度和簡(jiǎn)化代碼庫(kù)的未來(lái)開(kāi)發(fā),這也是許多 Python 的其他新特性所關(guān)注的目標(biāo)。

4、Python 測(cè)試

Python 有自己的內(nèi)置測(cè)試框架 Unittest,雖然 Unittest 作為默認(rèn)設(shè)置還不錯(cuò),但它的設(shè)計(jì)和行為已經(jīng)過(guò)時(shí)了。Pytest 框架已成為一種常見(jiàn)的替代品,要更靈活(你可以在代碼的任何部分聲明測(cè)試,而不僅僅是一個(gè)子集),并且需要編寫(xiě)的模板少得多。另外,Pytest 還有大量的附加組件來(lái)擴(kuò)展其功能(例如,用于測(cè)試異步代碼)。

責(zé)任編輯:龐桂玉 來(lái)源: 馬哥Linux運(yùn)維
相關(guān)推薦

2009-03-11 13:38:37

構(gòu)造塊ActivityIntent Rece

2019-12-30 12:32:25

網(wǎng)絡(luò)安全四大關(guān)鍵點(diǎn)智慧城市

2023-04-11 09:39:47

2018-09-26 06:45:23

2012-03-12 09:51:42

上市

2022-01-06 11:25:47

區(qū)塊鏈游戲技術(shù)

2022-01-12 14:08:30

人工智能AI深度學(xué)習(xí)

2022-02-15 21:51:04

區(qū)塊鏈金融加密貨幣

2023-01-28 09:52:39

2024-11-14 09:00:00

Python編程元編程

2022-05-17 08:56:32

ITCIO領(lǐng)導(dǎo)者

2021-12-13 09:11:41

數(shù)據(jù)中心IT網(wǎng)絡(luò)

2022-08-02 10:33:11

JavaScript代碼

2021-11-15 10:10:20

安全零信任數(shù)據(jù)

2022-02-08 23:16:34

元宇宙技術(shù)VR/AR

2022-04-12 14:07:40

流程工程軟件交付敏捷團(tuán)隊(duì)

2021-10-29 16:28:03

零信任網(wǎng)絡(luò)安全網(wǎng)絡(luò)攻擊

2024-06-12 13:51:12

2022-01-27 15:48:05

區(qū)塊鏈金融技術(shù)

2011-05-24 14:28:00

云計(jì)算
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)