![](/img/trans.png)
[英]How can you get the source code of dynamically defined functions in Python?
[英]How can I get the source code for Python functions?
我正在學習 Python 以及如何上課。 我很好奇這些類是如何在 Python 本身內部制作的,例如。 在 datetime.py(我通過谷歌搜索找到它)中,我正在檢查他們如何使用__add__
或__sub__
,它們使用“if isinstance(other, timedelta):”,這是一個有趣的學習。 此外,我正在學習專業編寫的程序是什么樣的。
我的問題是如何找到Python里面的內部類和函數的源代碼,比如我很想看看他們是怎么實現add in print()
的,可以print(1+2)
-> 3 and print('a'+'b')
-> ab
Python 參考實現的源代碼可在其 GitHub 鏡像中獲取。 但是,值得注意的是,Python 語言的大部分都在 C 中實現,包括核心引擎和許多標准庫庫。 真正理解引擎蓋下的一切是如何實現的需要相當多的流利度 C。
Python 是一種開源語言,這意味着源代碼可供任何感興趣的各方使用。 我建議查看您正在使用的機器上的源文件或查看CPython Github 存儲庫。
print()
是一個內置模塊。 它寫在 C 中,源代碼可以在文件 bltinmodule.c中查看。
您可能還會發現了解 Python 中可用的函數以獲得幫助很有用,例如help()
(此處提供文檔)。 要了解print()
function,您可以致電:
help(print)
我建議閱讀初學者指南作為獲取更多資源的起點。
ipython是探索事物運作方式的絕佳工具。 只需添加“??” 在 function 或其他可調用的之后,它會在可能的情況下顯示代碼,即。 當它是“純蟒蛇”時。
例如:
import this
this??
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.