2016-11-28 127 views
2

我可以讓python直接打印__builtins__的源代碼嗎?如何查看Python的__builtins__源代碼?

OR(更優選):

什麼是__builtins__的源代碼的路徑名?


我至少知道以下幾點:

  • __builtins__是一個模塊,通過鍵入type(__builtins__)

  • 我已經嘗試了最好的答案建議到這個SO問題更一般的情況:"Finding the source code for built-in Python functions?"。但沒有運氣:

    • print inspect.getdoc(__builtins__)只是給了我一個描述。

    • inspect.getfile(__builtins__)只是給了我一個錯誤:TypeError: <module '__builtin__' (built-in)> is a built-in module

    • https://hg.python.org/cpython/file/c6880edaf6f3/#似乎並沒有包含__builtins__的條目。我嘗試過「site:」搜索並瀏覽了幾個目錄,但是在幾個之後放棄了。

+0

@MooingRawr我曾經試圖在原來的職位 – Oracle

+0

的答案應該有提到,...然後.... – MooingRawr

+0

@MooingRawr,歡呼聲,是我不好將編輯 – Oracle

回答

6

__builtin__模塊在Python/bltinmodule.c實現爲一個相當不尋常的模塊一個相當不尋常的位置。

+0

乾杯,你怎麼知道這一點?或者你是如何解決的? – Oracle

+1

@Oracle:我花了很多時間瀏覽Python源代碼,所以我很熟悉很多東西。 – user2357112

+0

尊重。至少我知道沒有一些工具我錯過了(也許)。 – Oracle

0

我不能嘗試它的權利,但蟒蛇默認的IDE能夠輕鬆開啓核心模塊(我試着用數學多一些)

https://docs.python.org/2/library/idle.html

在菜單上。打開模塊。

+1

你能舉個例子說明你的意思嗎? –

+0

我不明白:「我現在可以試試它」(嘗試什麼?),「但是」(你確定你的意思是?),「輕鬆打開核心模塊」(是的,我敢打賭它可以,但是怎麼做?什麼行代碼?) – Oracle

+0

我正在寫電話,可悲的是我不能在這裏閒置:)我編輯澄清我的意思。 –