国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

聊聊 Python 的內置電池

wapeyang / 643人閱讀

摘要:二這些內容都很有意思,本文唯獨想聊聊它內置電池。這樣做的預期效果是內置電池會變得輕量小型化高質量,同時三方庫的生態系統也能得到進化。目前,該仍處于草案狀態,但已基本成為社區共識。

本文原創并首發于公眾號【Python貓】,未經授權,請勿轉載。

原文地址:https://mp.weixin.qq.com/s/XzCqoCvcpFJt4A-E4WMqaA

(一)

最近,我突然想到一個問題:相比其它語言,有哪些概念或習慣叫法是 Python 特有的?

在朋友圈提出這個問題后,我得到最多的回復是——Pythonic 。這個回復一點都不意外,名字中自帶 Python 的,當然是特有的啦,與它相似的,還有 Pythonista

這兩個詞是啥意思呢?Python 圈內流傳著一個說法“人生苦短,我用 Python”,人們相信存在著最佳的實踐方式,采用這種方式是最美的、最高效的、最優雅的,也即是 Pythonic ,而這樣做的人(或以此為追求的人)則自稱是 Pythonista。這個稱號是有別于 Pythoner 或者 Pythonist 的,簡單地說就是,它更有追求、更有逼格。

除了以上兩個,Python 還有眾多獨特的叫法,例如終生仁慈獨裁者、裝飾器、上下文管理器、推導式與生成式、鴨子類型、猴子補丁、魔術方法、GIL、內置電池,等等。它們有的并不是 Python 所原創或獨有,但是卻因為它才廣為人知,它們在 Python 中是代表性的存在物。

(二)

這些內容都很有意思,本文唯獨想聊聊它——內置電池

Batteries Included 這個叫法是 Python 特有的,它指的是 Python 擁有“內置電池”,也就是自帶豐富多樣的標準庫,開箱即用,動力十足。

在《PEP 206 -- Python Advanced Library》中,它提出了“內置電池的哲學”(Batteries Included Philosophy):擁有豐富而通用的標準庫,無需用戶多帶帶下載就能立即使用。還說這使得 Python 領先于很多項目。

根據官方文檔顯示,Python 內置了 200 多個標準庫,類型豐富多樣,包括字符處理、數據類型、數值計算、文件處理、并發執行、網絡通信、多媒體服務、圖形界面、調試與開發、以及操作系統專有服務等等。

內置電池為 Python 提供了一種自給自足的能力(self-sufficient),在大多數情況下,用戶不需要再去下載和安裝多帶帶的軟件包,因此也免去一大堆的依賴問題的折磨。

(三)

某些編程語言中也有內置電池的概念,例如 Perl、Ruby、PHP等等,還有的語言會強調自己內置了強大的功能,例如 Erlang(一切皆進程)、Go(goroutine 機制)。

然而,這個叫法在 Python 中被叫得最響,也被推廣到了技術生態中的其它項目里,幾乎成了 Python 的專有名詞。

在維基百科上搜索“Batteries Included”,該條目有 4 個解釋,其中之一表明它是 Python 的 Motto ,這個詞的意思是座右銘、格言、箴言,足見分量之重了吧。

(四)

內置電池做不到無所不包,因此需要所謂的第三方庫,而 Python 也以三方庫豐富而聞名。

PyPIPython Package Index 的簡稱,即 Python 庫索引,是一個用來管理三方庫的項目,根據網站顯示,目前有 18 萬個三方庫,以及它們的 135 萬個發行版本。

就是說,Python 也擁有強大的外置電池,所以其實它是 雙驅動 的。

(五)

雙驅動本來相安無事,互為表里,但是,內置電池卻遭到了越來越多的指責。

在今年 5 月的官方 PyCon 大會上,演講嘉賓 Amber Brown 做了專門的分享,主要話題就是吐槽這內置電池正在“漏電”(Leaking):

應用程序需要的不僅僅是標準庫

質量差,功能落后,代碼過時

標準庫模塊排擠創新

她的想法是移除一些標準庫,例如 asyncio 及大多數的新特性,遷移到 PyPI,擁抱社區。這樣做的預期效果是:內置電池會變得輕量小型化、高質量,同時三方庫的生態系統也能得到進化。

其他開發人員對這個話題也進行了討論。

標準庫的維護團隊表示,遷移部分模塊的工作已經在展開了,但這需要經過仔細的設計,另外,不容忽視的是,遷移庫到 PyPI 也要求測試配置的工作量。

還有人提出反對意見,認為精簡標準庫可能會破壞下游代碼,而且有的企業用戶只信任標準庫而排斥三方庫,這無疑會增加用戶的負擔。

(六)

我們的很多電子設備都是由電池驅動的,雖然它們的形式與材質各種各樣,但是不可避免會遇到老化的問題(某種手機甚至會爆炸)。

Python 的內置電池也不例外,可是,這個電池的修理或替換,卻不像物理世界的電池那般容易。

官方在十幾年前提出了 PEP-206 與 PEP-3108,那時核心開發者們就發現有些標準庫容易被入侵、設計不佳、有更好的替代庫,因此推薦了很多款第三方庫,以作為標準庫的替代選項。這些年來,很多廢棄的庫已退出舞臺,但更多的新庫也加了進來,革命尚未成功。

今年 5 月,在 PyCon 大會引發的討論之后,有開發者發起了 PEP-594,提議將“壞死的電池”(dead batteries)移出標準庫。

目前,該 PEP 仍處于草案(Draft)狀態,但已基本成為社區共識。

PEP 中提議移除工作從 Python 3.8 開始,因為它的發布時間剛好在 Python 2.7 停止維護之前,可以平滑地承接大版本遷移的用戶。然后,按照有序的清理計劃,最終在 Python 3.10 版本完成所有廢棄模塊的移除。

也就是說,內置電池的“手術”加速了,未來幾年里,這將成為一個常態。

(七)

內置電池的哲學助力了 Python 發展壯大,攻城略地,成為最主流的編程語言之一。

然而它面臨的挑戰是:功能齊備與輕量可維的矛盾、官方支撐與社區分治的選擇,因此,必然會走到今天的局面。

正如任何大型項目都可能遇到內存泄漏與性能退化的問題一樣,Python 這個項目也是。剔除壞死的組織,精兵簡政,革故鼎新,跟上時代,這些是 Python 核心團隊正在做的事。

從去年末以來,我持續關注著 Python 最高決策層的選舉,而在上個月,我恰好翻譯了一篇文章《GIL 已經被殺死了么?》介紹了 GIL 的移除計劃。

這些事件都表明著一件事:Python 充滿活力,大蟒蛇蛻皮后,將會迎來新生。

我們何其幸運,正好作為見證者。其它就不用多說了,重溫一下這個偉大的口號吧——人生苦短,我用 Python。

公眾號【Python貓】, 本號連載優質的系列文章,有喵星哲學貓系列、Python進階系列、好書推薦系列、技術寫作、優質英文推薦與翻譯等等,歡迎關注哦。后臺回復“愛學習”,免費獲得一份學習大禮包。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/19585.html

相關文章

  • 聊聊 Python 內置電池

    摘要:二這些內容都很有意思,本文唯獨想聊聊它內置電池。這樣做的預期效果是內置電池會變得輕量小型化高質量,同時三方庫的生態系統也能得到進化。目前,該仍處于草案狀態,但已基本成為社區共識。 showImg(https://segmentfault.com/img/remote/1460000019489233?w=1880&h=1253); 本文原創并首發于公眾號【Python貓】,未經授權,請...

    FreeZinG 評論0 收藏0
  • 聊聊 print 前世今生

    摘要:反對的意見主要是這樣可能會破壞掉無數個腳本,而且中已經有太多的魔法了。除此之外,的命名本身也算是一種包袱。首字母大寫的,譯作史努比,則是一只被很多人喜愛的漫畫小狗。 showImg(https://segmentfault.com/img/remote/1460000019559250); 本文原創并首發于公眾號【Python貓】,未經授權,請勿轉載。 原文地址:https://mp....

    stackvoid 評論0 收藏0

發表評論

0條評論

wapeyang

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<