成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

用 Python 3.8 中的這個位置技巧讓你的 API 變得更好

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

[[404288]]

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

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

importlib.metadata

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

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

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

  1. from importlib import metadata as importlib_metadata
  2.  
  3. distribution = importlib_metadata.distribution("numpy")
  4. 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')]

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

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

只接受位置參數(shù)

強制關(guān)鍵字的參數(shù)在傳達 API 作者的意圖方面取得巨大成功之后,另一個空白被填補了:只接受位置參數(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)試表達式

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

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

  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ù)值。

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

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

歡迎來到 2019 年

 

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

 

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2014-05-07 09:41:21

UbuntuTrusty Tahr

2015-10-30 10:33:02

溝通程序員事業(yè)發(fā)展

2025-06-20 08:14:55

2020-08-06 00:25:38

Python代碼開發(fā)

2023-01-04 08:17:21

Typescript技巧欺騙性

2020-11-20 10:40:20

PyTorch神經(jīng)網(wǎng)絡(luò)代碼

2021-09-01 10:35:19

asyncawaitVue

2009-11-20 09:20:09

MySQL分區(qū)負載均衡

2021-01-27 10:46:07

Pytorch深度學(xué)習(xí)模型訓(xùn)練

2023-03-27 23:57:25

JavaScrip開發(fā)技巧

2020-07-20 10:40:52

Linux命令Ubuntu

2024-06-13 12:24:06

C++開發(fā)代碼

2020-08-13 10:11:14

物聯(lián)網(wǎng)安全智能家居物聯(lián)網(wǎng)

2019-02-22 21:53:22

習(xí)慣FabulousAPP

2020-12-30 05:29:48

API分庫分表

2019-05-21 14:08:40

豆瓣Python圖書

2023-03-09 15:45:36

ES6編碼技巧數(shù)組

2009-11-30 11:33:01

2021-06-16 18:16:22

Windows 10Windows操作系統(tǒng)

2020-07-24 15:40:51

CSS前端代碼
點贊
收藏

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

主站蜘蛛池模板: 精品1区2区| 日韩超碰在线 | 欧美性大战xxxxx久久久 | 免费一区二区在线观看 | 亚洲免费观看视频 | 老牛影视av一区二区在线观看 | 中文字幕一区二区三区四区不卡 | 久久久久国产精品一区二区 | 婷婷去俺也去 | 中文字幕一区二区三区四区 | 91 在线| 久久久久久成人 | 国产视频91在线 | 亚洲免费精品一区 | 国产精品96久久久久久 | 欧美美女被c | 亚洲一区二区视频 | 日本在线视频一区二区 | 一区二区三区在线免费观看视频 | 久久青草av| 91av在线免费播放 | 国产乱码精品一区二区三区五月婷 | 久久精品网 | 国产精品一区二区三区久久 | 久久99久久99精品免视看婷婷 | 国产在线中文字幕 | av黄色免费 | 欧美性a视频 | 成人一区在线观看 | 国产色在线 | 欧美激情精品久久久久久变态 | 久久99久久久久 | 欧美大片一区 | 伊人网站在线观看 | 国内精品久久久久久 | 久久久精品天堂 | 日本一区视频在线观看 | h视频在线观看免费 | 国产精品黄色 | 国产在线观看网站 | 国产精品国产三级国产aⅴ浪潮 |