0

通過Python果殼中的默認綁定模塊`builtin`的__import__`屬性是什麼?

定製進口商

先進的,很少用到的功能,Python的提供是改變的部分或全部進口,並從 語句語義的 能力。

重新綁定__import__

您可以重新綁定模塊builtin 到自己的自定義進口商功能,例如的__import__屬性,一個使用 通用內置-包裝中顯示技術「內置的Python插件」關於 第174頁

  1. 在「您可以重新綁定__import__ ATTRIB模塊builtin的用途「,應該將」模塊builtin「改爲」模塊builtins「嗎?

  2. 是「__import__模塊的屬性builtinbound to importlib.__import__function by default?或者「模塊builtin」是否提供了綁定到其__import__屬性的默認實現?

+0

1.是的。這可能是一個編輯錯誤。 –

+0

2.不可以。它被綁定到'builtins .__ import__'。如果重新綁定,保存該函數。 –

+0

我認爲[this](https://stackoverflow.com/questions/9047745/where-is-the-builtin-module-in-python3-why-was-it-命名)是相關的。 – vmg

回答

2
  1. 是的,那是在書錯字。在Python 2中,同一個模塊名爲__builtin__(no s),在Python 3中它被命名爲builtins

  2. builtins.__import__是與importlib.__import__不同的功能。如果您要重新綁定builtins.__import__,請保存參考。

+0

謝謝。你的意思是說'importlib .__ import__'實現與'builtins .__ import__'相同的東西嗎?它們之間唯一的區別在於它們實現的是哪種語言? – Tim

+0

@Tim:確切地說,兩個*目標*做同樣的事情。 –

相關問題