日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
用Python3.8中的這個位置技巧讓你的API變得更好

探索只接受位置參數(shù)和其他兩個未被充分利用但仍然有用的 Python 特性。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名與空間、虛擬空間、營銷軟件、網(wǎng)站建設(shè)、于洪網(wǎng)站維護(hù)、網(wǎng)站推廣。

這是 Python 3.x 首發(fā)特性系列文章的第九篇。Python 3.8 于 2019 年首次發(fā)布,兩年后,它的許多很酷的新特性仍然沒有被使用。下面是其中的三個。

importlib.metadata

入口點(diǎn) 在 Python 包中被用來做各種事情。大多數(shù)人熟悉的是 console_scripts 入口點(diǎn),不過 Python 中的許多插件系統(tǒng)都使用它們。

在 Python 3.8 之前,從 Python 中讀取入口點(diǎn)的最好方法是使用 pkg_resources,這是一個有點(diǎn)笨重的模塊,它是 setuptools 的一部分。

新的 importlib.metadata 是一個內(nèi)置模塊,它允許訪問同樣的東西:

 
 
 
  1. from importlib import metadata as importlib_metadata
  2. distribution = importlib_metadata.distribution("numpy")
  3. distribution.entry_points
 
 
 
  1.     [EntryPoint(name='f2py', value='numpy.f2py.f2py2e:main', group='console_scripts'),
  2.      EntryPoint(name='f2py3', value='numpy.f2py.f2py2e:main', group='console_scripts'),
  3.      EntryPoint(name='f2py3.9', value='numpy.f2py.f2py2e:main', group='console_scripts')]

入口點(diǎn)并不是 importlib.metadata 允許訪問的唯一東西??梢哉{(diào)試、報告,或者(在極端情況下)觸發(fā)兼容模式,你也可以在運(yùn)行時檢查依賴的版本!

 
 
 
  1. f"{distribution.metadata['name']}=={distribution.version}"`[/code] [code]`    'numpy==1.20.1'

只接受位置參數(shù)

強(qiáng)制關(guān)鍵字的參數(shù)在傳達(dá) API 作者的意圖方面取得巨大成功之后,另一個空白被填補(bǔ)了:只接受位置參數(shù)。

特別是對于那些允許使用任意關(guān)鍵字的函數(shù)(例如,生成數(shù)據(jù)結(jié)構(gòu)),這意味著對允許的參數(shù)名稱的限制更少:

 
 
 
  1. def some_func(prefix, /, **kwargs):
  2.     print(prefix, kwargs)
 
 
 
  1. some_func("a_prefix", prefix="prefix keyword value")
 
 
 
  1.   a_prefix {'prefix': 'prefix keyword value'}`

注意,令人困惑的是,變量 prefix 的值與 kwargs["prefix"] 的值不同。就像在很多地方一樣,要注意小心使用這個功能。

自我調(diào)試表達(dá)式

50 多年來,print() 語句(及其在其他語言中的對應(yīng)語句)一直是快速調(diào)試輸出的最愛。

但是我們在打印語句方面取得了很大的進(jìn)展,比如:

 
 
 
  1. special_number = 5
  2. print("special_number = %s" % special_number)
 
 
 
  1.     special_number = 5

然而,自我記錄的 f-strings 使它更容易明確:

 
 
 
  1. print(f"{special_number=}")
 
 
 
  1.     special_number=5`

在 f-string 插值部分的末尾添加一個 =,可以保留字面部分,同時添加數(shù)值。

當(dāng)更復(fù)雜的表達(dá)式在該部分內(nèi)時,這就更有用了:

 
 
 
  1. values = {}
  2. print(f"{values.get('something', 'default')=}")
 
 
 
  1.     values.get('something', 'default')='default'

歡迎來到 2019 年

Python 3.8 大約在兩年前發(fā)布,它的一些新特性非??幔覜]有得到充分利用。如果你還沒使用,那么將他們添加到你的工具箱中。


網(wǎng)站欄目:用Python3.8中的這個位置技巧讓你的API變得更好
標(biāo)題來源:http://www.5511xx.com/article/cdgpios.html