精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

我們可以在同一個虛擬機中運行Python 2和3代碼而不需要更改代碼嗎?

開發 后端
從理論上來說,可以。Zed Shaw 說過一句著名的話,如果不行,那么 Python 3 一定不是圖靈完備的。但在實踐中,這是不現實的,我將通過給你們舉幾個例子來說明原因。

從理論上來說,可以。Zed Shaw 說過一句著名的話,如果不行,那么 Python 3 一定不是圖靈完備的。但在實踐中,這是不現實的,我將通過給你們舉幾個例子來說明原因。

對于字典(dict)來說,這意味著什么?

讓我們來想象一臺擁有 Python 6 的虛擬機,它可以讀取 Python 3.6 編寫的 module3.py。但是在這個模塊中,它可以導入 Python 2.7 編寫的 module2.py,并成功使用它,沒有問題。這顯然是實驗代碼,但假設 module2.py 包含以下的功能:

  1. def update_config_from_dict(config_dict):
  2. items = config_dict.items()
  3. while items:
  4. k, v = items.pop()
  5. memcache.set(k, v)
  6.  
  7. def config_to_dict():
  8. result = {}
  9. for k, v in memcache.getall():
  10. result[k] = v
  11. return result
  12.  
  13. def update_in_place(config_dict):
  14. for k, v in config_dict.items():
  15. new_value = memcache.get(k)
  16. if new_value is None:
  17. del config_dict[k]
  18. elif new_value != v:
  19. config_dict[k] = v

現在,當我們想從 module3 中調用這些函數時,我們遇到了一個問題:Python 3.6 中的字典類型與 Python 2.7 中的字典類型不同。在 Python 2 中,字典是無序的,它們的 .keys(), .values(), .items() 方法返回了正確的序列,這意味著調用 .items() 會在字典中創建狀態的副本。在 Python 3 中,這些方法返回字典當前狀態的動態視圖。

這意味著如果 module3 調用 module2.update_config_from_dict(some_dictionary),它將無法運行,因為 Python 3 中 dict.items() 返回的值不是一個列表,并且沒有 .pop() 方法。反過來也是如此。如果 module3 調用 module2.config_to_dict(),它可能會返回一個 Python 2 的字典。現在調用 .items() 突然返回一個列表,所以這段代碼無法正常工作(這對 Python 3 字典來說工作正常):

  1. def main(cmdline_options):
  2. d = module2.config_to_dict()
  3. items = d.items()
  4. for k, v in items:
  5. print(f'Config from memcache: {k}={v}')
  6. for k, v in cmdline_options:
  7. d[k] = v
  8. for k, v in items:
  9. print(f'Config with cmdline overrides: {k}={v}')

最后,使用 module2.update_in_place() 會失敗,因為 Python 3 中 .items() 的值現在不允許在迭代過程中改變。

對于字典來說,還有很多問題。Python 2 的字典在 Python 3 上使用 isinstance(d, dict) 應該返回 True 嗎?如果是的話,這將是一個謊言。如果沒有,代碼將無法繼續。

Python 應該神奇地知道類型并會自動轉換!

為什么我們的 Python 6 的虛擬機無法識別 Python 3 的代碼,在 Python 2 中調用 some_dict.keys() 時,我們還有別的意思嗎?好吧,Python 不知道代碼的作者在編寫代碼時,她所認為的 some_dict 應該是什么。代碼中沒有任何內容表明它是否是一個字典。在 Python 2 中沒有類型注釋,因為它們是可選的,即使在 Python 3 中,大多數代碼也不會使用它們。

在運行時,當你調用 some_dict.keys() 的時候,Python 只是簡單地在對象上查找一個屬性,該屬性恰好隱藏在 some_dict 名下,并試圖在該屬性上運行 __call__()。這里有一些關于方法綁定,描述符,slots 等技術問題,但這是它的核心。我們稱這種行為為“鴨子類型”。

由于鴨子類型,Python 6 的虛擬機將無法做出編譯時決定,以正確轉換調用和屬性查找。

好的,讓我們在運行時做出這個決定

Python 6 的虛擬機可以標記每個屬性,通過查找“來自 py2 的調用”或“來自 py3 的調用”的信息來實現這一點,并使對象發送正確的屬性。這會讓它變得很慢,并且使用更多的內存。這將要求我們在內存中保留兩種版本的代碼,并通過代理來使用它們。我們需要加倍付出努力,在用戶背后同步這些對象的狀態。畢竟,新字典的內存表示與 Python 2 不同。

如果你已經被字典問題繞暈了,那么再想想 Python 3 中的 Unicode 字符串和 Python 2 中的字節(byte)字符串的各種問題吧。

沒有辦法了嗎?Python 3 根本就不能運行舊代碼嗎?

不會。每天都會有項目移植到 Python 3。將 Python 2 代碼移植到兩個版本的 Python 上推薦方法是在你的代碼上運行 Python-Modernize。它會捕獲那些在 Python 3 上不起作用的代碼,并使用 six 庫將其替換,以便它在 Python 2 和 Python 3 上運行。這是 2to3 的一個改編版本,用于生成僅針對 Python 3 代碼。Modernize 是首選,因為它提供了更多的增量遷移路線。所有的這些在 Python 文檔中的 Porting Python 2 Code to Python 3文檔中都有很好的概述。

但是,等一等,你不是說 Python 6 的虛擬機不能自動執行此操作嗎?對。Modernize 查看你的代碼,并試圖猜測哪些是安全的。它會做出一些不必要的改變,還會錯過其他必要的改變。但是,它不會幫助你處理字符串。如果你的代碼沒有在“來自外部的二進制數據”和“流程中的文本數據”之間保持界限,那么這種轉換就不會那么輕易。

因此,大項目的遷移不能自動完成,并且需要人類進行測試,發現問題并修復它們。它工作嗎?是的,我曾幫助將一百萬行代碼遷移到 Python 3,并且這種切換沒有造成事故。這一舉措讓我們重新獲得了 1/3 的服務器內存,并使代碼運行速度提高了 12%。那是在 Python 3.5 上,但是 Python 3.6 的速度要快得多,根據你的工作量,你甚至可以達到 4 倍加速

親愛的 Zed

hi,伙計,我關注你已經超過 10 年了。我一直在觀察,當你感到沮喪的時候,你對 Mongrel 沒有任何信任,盡管 Rails 生態系統幾乎全部都在上面運行。當你重新設計它并開始 Mongrel 2 項目時,我一直在觀察。我一直在關注你使用 Fossil 這一令人驚訝的舉動。隨著你發布 “Rails 是一個貧民窟”的帖子,我看到你突然離開了 Ruby 社區。當你開始編寫《笨方法學 Python》并且開始推薦它時,我感到非常興奮。2013 年我在 DjangoCon Europe 見過你,我們談了很多關于繪畫,唱歌和倦怠的內容。你的這張照片是我在 Instagram 上的第一個帖子。

你幾乎把另一個“貧民區”的行動與 “反對 Python 3” 案例 文章拉到一起。我認為你本意是好的,但是這篇文章引起了很多混淆,包括許多人覺得你認為 Python 3 不是圖靈完整的。我花了好幾個小時讓人們相信,你是在開玩笑。但是,鑒于你對《笨方法學 Python》的重大貢獻,我認為這是值得的。特別是你為 Python 3 更新了你的書。感謝你做這件事。如果我們社區中真的有人因你的帖子為由要求將你和你的書列入黑名單,而請他們出去。這是一個雙輸的局面,這是錯誤的。

說實話,沒有一個核心 Python 開發人員認為 Python 2 到 Python 3 的轉換過程會順利而且計劃得當,包括 Guido van Rossum。真的,可以看那個視頻,這有點事后諸葛亮的意思了。從這個意義上說,我們實際上是積極地相互認同的。如果我們再做一次,它會看起來不一樣。但在這一點上,在 2020 年 1 月 1 日,Python 2 將會到達終結。大多數第三方庫已經支持 Python 3,甚至開始發布只支持 Python 3 的版本(參見 Django科學項目關于 Python 3 的聲明)。

我們也積極地就另一件事達成一致。就像你于 Mongrel 一樣,Python 核心開發人員是志愿者,他們的工作沒有得到報酬。我們大多數人在這個項目上投入了大量的時間和精力,因此我們自然而然敏感于那些對他們的貢獻不屑一顧和激烈的評論。特別是如果這個信息既攻擊目前的事態,又要求更多的自由貢獻。

我希望到 2018 年會讓你忘記 2016 發布的帖子,有一堆好的反駁。我特別喜歡 eevee(LCTT 譯注:eevee 是一個為 Blender 設計的渲染器)。它特別針對“一起運行 Python 2 和 Python 3 ”的場景,這是不現實的,就像在同一個虛擬機中運行 Ruby 1.8 和 Ruby 2.x 一樣,或者像 Lua 5.3 和 Lua 5.1 同時運行一樣。你甚至不能用 libc.so.6 運行針對 libc.so.5 編譯的 C 二進制文件。然而,我發現最令人驚訝的是,你聲稱 Python 核心開發者是“有目的地”創造諸如 2to3 之類的破壞工具,這些由 Guido 創建,其最大利益就是讓每個人盡可能順利,快速地遷移。我很高興你在之后的帖子中放棄了這個說法,但是你必須意識到你會激怒那些閱讀了原始版本的人。對蓄意傷害的指控最好有強有力的證據支持。

但看起來你仍然會這樣做。就在今天你說 Python 核心開發者“忽略”嘗試解決 API 的問題,特別是 six。正如我上面寫的那樣,Python 文檔中的官方移植指南涵蓋了 six。更重要的是,six 是由 Python 2.7 的發布管理者 Benjamin Peterson 編寫。很多人學會了編程,這要歸功于你,而且由于你在網上有大量的粉絲,人們會閱讀這樣的推文,他們會相信它的價值,這是有害的。 

我有一個建議,讓我們把 “Python 3 管理不善”的爭議擱置起來。Python 2 正在死亡,這個過程會很慢,并且它是丑陋而血腥的,但它是一條單行道。爭論那些沒有用。相反,讓我們專注于我們現在可以做什么來使 Python 3.8 比其他任何 Python 版本更好。也許你更喜歡看外面的角色,但作為這個社區的成員,你會更有影響力。請說“我們”而不是“他們”。 

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2013-07-18 09:21:32

代碼文檔

2021-07-31 12:58:53

PodmanLinux虛擬機

2020-08-05 11:53:41

數據代碼自動化

2022-06-06 12:02:23

代碼注釋語言

2017-09-19 15:40:23

Linuxsudo命令密碼

2022-01-26 16:30:47

代碼虛擬機Linux

2013-12-02 09:43:29

字符串編程

2021-08-16 20:48:34

嵌入式單片機信息

2016-12-15 08:54:52

線程sessionopenSession

2022-07-26 00:00:02

TCPUDPMAC

2020-02-18 10:00:15

數據庫工具技術

2012-08-23 09:50:07

測試測試人員軟件測試

2021-12-12 22:20:47

Docker開發容器

2014-09-24 09:31:31

Dockersshd

2018-01-25 09:28:49

代碼開發工具

2024-03-05 10:07:22

TCPUDP協議

2021-05-26 10:19:01

jreJava應用程序

2018-01-17 15:33:14

2009-06-09 12:38:12

NetBeanseclipse

2010-05-07 10:28:52

Linux系統
點贊
收藏

51CTO技術棧公眾號

国产一区视频在线播放| 国产视频精品免费播放| av一区二区三区免费观看| www五月婷婷| 亚洲欧美日本视频在线观看| 一区二区三区四区在线观看视频 | 伦xxxx在线| 懂色一区二区三区免费观看| 国产成人av网址| 亚洲毛片亚洲毛片亚洲毛片| 2020最新国产精品| 色狠狠av一区二区三区| 裸体裸乳免费看| 天堂a中文在线| 激情小说亚洲一区| 日本sm极度另类视频| 欧美视频www| 国产精品一区高清| 欧美精品一区二区蜜臀亚洲| 中文字幕有码av| 色是在线视频| 亚洲女爱视频在线| 色涩成人影视在线播放| 人人妻人人澡人人爽久久av| 精品一区二区三区在线观看| 青青青国产精品一区二区| 欧美日韩在线观看成人| 成人在线免费小视频| 亚洲伦理中文字幕| 野花视频免费在线观看| 香蕉成人影院| 懂色av一区二区三区| 成人在线免费观看视频网站| 青青影院在线观看| 国产日产亚洲精品系列| 美乳视频一区二区| 成人久久久精品国产乱码一区二区| 青青草97国产精品免费观看 | 亚洲精品不卡| 日本免费一区二区三区最新| 国产成人精品免费一区二区| 成人黄色免费片| 国产在线观看第一页| 亚洲深夜福利| 久久久久久久一区二区| 国产高潮流白浆| 国产精品久久久久久久免费观看 | 久久国产精品无码一级毛片| 97视频一区| 精品国产网站在线观看| 国产成人精品综合久久久久99| 国产成年精品| 91精品婷婷国产综合久久竹菊| 手机av在线免费| 日韩av黄色| 欧美日韩情趣电影| 一起操在线视频| 欧美男男gaygay1069| 在线精品视频一区二区| 天天操天天摸天天爽| 91精品影视| 欧美在线视频日韩| 最新中文字幕2018| 欧美一级做a| 欧美三级视频在线播放| 最新天堂在线视频| 91成人精品观看| 日韩欧美的一区二区| 日本少妇一级片| 成人在线视频中文字幕| 亚洲国产精品va在线| 毛茸茸多毛bbb毛多视频| 羞羞色国产精品网站| 亚洲欧美制服第一页| 日韩视频在线观看免费视频| 国产精品国产三级国产在线观看| 欧美理论片在线观看| 日本五十熟hd丰满| 久久久夜夜夜| 国产精品一区电影| 性猛交富婆╳xxx乱大交天津| 成人妖精视频yjsp地址| 久久精品国产综合精品| melody高清在线观看| 国产精品高潮久久久久无| 久久久久久久久久久久久国产| 久草在线新免费首页资源站| 懂色av中文一区二区三区天美| av网站在线不卡| 亚洲一区二区三区免费| 亚洲精品资源美女情侣酒店 | 一区二区三区中文字幕在线观看| 人妻少妇精品久久| 日本成人片在线| 日韩一二在线观看| 亚洲人人夜夜澡人人爽| 久久精品高清| 久久久久国产一区二区三区| 香蕉影院在线观看| 国产美女一区二区三区| 麻豆亚洲一区| bestiality新另类大全| 欧美日韩在线第一页| 色www免费视频| 久久porn| 久久精品国亚洲| 天堂中文字幕在线观看| 国产综合色精品一区二区三区| 精品无人乱码一区二区三区的优势| 成在在线免费视频| 亚洲妇女屁股眼交7| 在线观看国产一级片| 色婷婷精品视频| 美女av一区二区| 国产99久久久久久免费看| 成人自拍视频在线观看| 伊人久久青草| japanese23hdxxxx日韩| 精品福利一区二区三区免费视频| 欧美成人久久久免费播放| 精品电影一区| 92国产精品视频| 黄色毛片在线看| 欧美日韩国产一中文字不卡| 久久精品亚洲天堂| blacked蜜桃精品一区| 亚州精品天堂中文字幕| 国产毛片久久久久| 国产精品久久久久一区| 免费男同深夜夜行网站| 成人三级av在线| 久久在线精品视频| 在线免费观看一级片| 久久久久青草大香线综合精品| 福利视频免费在线观看| 视频国产精品| 操日韩av在线电影| 中文字幕日日夜夜| 国产欧美一区在线| 白嫩少妇丰满一区二区| 久久香蕉精品香蕉| 久久久亚洲影院| 亚洲第一页综合| 一区二区三区四区五区视频在线观看| 亚洲一级片av| 66久久国产| 成人午夜高潮视频| 免费在线观看黄色| 欧美日本一道本在线视频| 性欧美一区二区| 视频在线观看一区二区三区| 欧美日韩高清在线一区| 国产精品专区免费| 亚洲人午夜色婷婷| 无码人妻精品一区二区| 日本一区二区三区dvd视频在线| 日韩av资源在线| 国产精品一区二区99| 国产成人精品日本亚洲| 国产女主播在线写真| 欧洲精品中文字幕| 丁香六月激情综合| 久久草av在线| 成人一区二区av| 成人香蕉社区| 欧美亚洲国产视频| 国产高清视频免费最新在线| 欧美性欧美巨大黑白大战| 制服丨自拍丨欧美丨动漫丨| 国产在线一区二区综合免费视频| 强开小嫩苞一区二区三区网站| 欧美日韩中出| 九色精品美女在线| 熟妇人妻中文av无码| 欧美性猛交xxxx乱大交极品| 自拍偷拍视频亚洲| 极品美女销魂一区二区三区免费| 91视频 - 88av| 精品网站aaa| 国产精品va在线| 久久久久久久久免费视频| 日韩美女天天操| 影音先锋在线国产| 国产精品久久久久久久久晋中 | 中文字幕第28页| 91免费在线看| 亚洲国产日韩欧美在线观看| 欧美xxx在线观看| 久久久久久国产精品一区| 素人一区二区三区| 九九热精品视频在线播放| 天堂中文在线资| 7777精品伊人久久久大香线蕉超级流畅 | 亚洲欧美福利视频| 国产又粗又猛又爽| 欧美日韩国产中字| 日韩福利小视频| av电影在线观看不卡| 日本 片 成人 在线| 激情婷婷亚洲| 中文精品视频一区二区在线观看| 久久亚州av| 亚洲一区中文字幕在线观看| 亚洲最新无码中文字幕久久| 精品国产一区二区三区久久狼黑人| 男人天堂网在线视频| 欧美日韩精品一区视频| 日本一级黄色大片| 亚洲日本在线看| 国产特黄级aaaaa片免| 国产精一品亚洲二区在线视频| 黄www在线观看| 欧美1级日本1级| 亚洲一二区在线| 中国av一区| 国产高清精品一区| 国产精品成人**免费视频| 日韩av大片在线| 黄页网站在线| 久色乳综合思思在线视频| 成人18在线| 亚洲欧洲一区二区三区久久| 成人久久久精品国产乱码一区二区| 欧美猛男男办公室激情| 日韩人妻精品中文字幕| 亚洲高清一区二区三区| 超碰在线国产97| 中文字幕一区二区三区蜜月| 日本激情小视频| 99久久精品情趣| 亚洲少妇一区二区三区| 国产福利精品一区| 国产精品久久久久久久99| 免费精品视频在线| www.色就是色| 日韩精品一卡二卡三卡四卡无卡| 18禁免费观看网站| 亚洲国产专区校园欧美| www.日本在线视频| 欧美特黄视频| 日韩人妻一区二区三区蜜桃视频| 91精品亚洲| 无码毛片aaa在线| 久久久久亚洲| aaa免费在线观看| 亚洲国产精品成人| 中文字幕第一页亚洲| 影音先锋日韩精品| 国产成人一区二区三区别| 女人天堂亚洲aⅴ在线观看| 青青草视频国产| 欧美在线视屏| 人妻av无码专区| 在线欧美日韩| 亚洲自偷自拍熟女另类| 免费日韩av| 国产免费视频传媒| 青青草视频一区| 在线播放免费视频| 国产精品一级片| 一级黄色电影片| 99久久99久久免费精品蜜臀| www.色天使| 国产日产欧美一区| 小向美奈子av| 一区二区三区不卡视频在线观看 | 日本人dh亚洲人ⅹxx| 成人毛片视频在线观看| 野外性满足hd| 国产欧美一区二区三区在线老狼| 精品无码在线观看| 1024国产精品| 久久国产在线视频| 欧美日韩国产专区| 亚洲中文一区二区三区| 欧美一级一级性生活免费录像| 丰满肉肉bbwwbbww| 亚洲视频国产视频| www.在线视频| 91豆花精品一区| 成人黄色免费观看| 亚洲综合av影视| 亚洲国产国产| 美国av在线播放| 国产精品亚洲综合久久| 色啦啦av综合| av成人免费在线观看| 成人小视频免费看| 亚洲高清久久久| 中文在线观看av| 亚洲成av人乱码色午夜| 国产三级在线看| 欧美日韩国产二区| 中文另类视频| 国产精选一区二区| 三区四区不卡| 亚洲 欧美 日韩 国产综合 在线| 男女性色大片免费观看一区二区| 国产免费无码一区二区| 国产日韩欧美综合在线| 九九热国产精品视频| 在线免费观看一区| 人妻无码一区二区三区久久99 | www久久99| 精品国产乱码久久久久久蜜坠欲下| av动漫在线免费观看| 免费成人在线视频观看| 性欧美18—19sex性高清| 国产精品国产三级国产三级人妇| 日韩 国产 在线| 91精品国产色综合久久| 福利片在线观看| 国内精品小视频在线观看| 欧美黑粗硬大| 欧美另类一区| 亚洲国产日本| 天天爽夜夜爽视频| 国产精品久久久久婷婷二区次| 中文字幕精品三级久久久| 欧美不卡视频一区| 黄色免费在线观看| 国产精品欧美日韩一区二区| 欧美色图五月天| 激情六月天婷婷| 国产在线观看免费一区| 免费看一级黄色| 91激情在线视频| 亚洲 欧美 自拍偷拍| 欧美国产日本高清在线| 国产麻豆一区二区三区| 亚洲日本精品一区| 男人操女人的视频在线观看欧美| 亚洲一区二区观看| 欧美日韩色婷婷| 熟妇人妻系列aⅴ无码专区友真希| 欧美精品在线免费播放| 国产精品一区二区三区www| 亚洲精品中文字幕乱码三区不卡| 另类激情亚洲| 少妇光屁股影院| 欧美性猛交99久久久久99按摩| 全部免费毛片在线播放一个| 欧美精品成人在线| 一区二区三区在线免费看| 日韩中文在线字幕| 国产精品亚洲视频| 国产乱国产乱老熟300| 日韩一区二区三区电影 | 伊人成综合网伊人222| 日韩在线一级片| www国产成人| 无码人妻精品一区二区50| 亚洲日本成人网| 日本中文字幕一区二区| 一区国产精品| 国产真实乱子伦精品视频| 天海翼在线视频| 欧美一区二区在线免费播放| 99久久精品免费观看国产| 不卡的av一区| 亚洲三级观看| 人人妻人人澡人人爽人人精品| 色综合一个色综合亚洲| 国产视频二区在线观看| 国产日韩一区在线| 欧美在线亚洲综合一区| 精品一区二区三区四区五区六区| 午夜精品视频在线观看| 欧美日本网站| 91精品免费看| 亚洲午夜激情在线| 亚洲做受高潮无遮挡| 欧美午夜影院一区| 日韩免费影院| 久久综合九色欧美狠狠| 免费黄网站欧美| 日韩欧美中文字幕视频| 亚洲国产精品99久久| 日产精品一区| 久久久久久久免费视频| 99视频超级精品| 伊人网中文字幕| 九色精品美女在线| 亚洲人挤奶视频| 国产女同无遮挡互慰高潮91| 亚洲二区视频在线| www黄在线观看| 成人片在线免费看| 秋霞电影一区二区| 国产亚洲欧美精品久久久久久| 亚洲天堂av综合网| 日韩中文字幕视频网| 人妻熟女一二三区夜夜爱| 亚洲婷婷综合久久一本伊一区| 天天干天天操av| 亚洲aaaaaa| 天堂va蜜桃一区二区三区漫画版| 人妻少妇精品一区二区三区| 亚洲精品一区二区网址| 日韩精品亚洲专区在线观看|