有没有办法在numpy上查看某个函数的源代码?

Cla*_*ude 2 python numpy

有没有办法更好地理解函数背后的逻辑,而不是仅仅使用它/尝试错误或参考文档?例如 tolist()

我在谷歌上搜索过,没有找到可以参考或重新创建的源代码。我想了解一些功能的基本构建块。或者有什么更好的建议来理解 3rd 方函数/包?

Mar*_*oma 5

Andrew Bowling 是对的,源代码在github.com/numpy/numpy 上。但是,还有更简单的方法。

例如,假设我想找到以下实现numpy.cumsum

  1. 谷歌一下。您将找到文档页面
  2. 单击文档页面上的[source]
  3. 请记住,实现可能比阅读文档更复杂。大部分是用

另一种方法是克隆存储库并使用grep.

$ grep -rnil "cumsum" * --exclude-dir=doc/ --exclude-dir=benchmarks/
numpy/random/mtrand/mtrand.pyx
numpy/lib/recfunctions.py
numpy/lib/_iotools.py
numpy/lib/shape_base.py
numpy/lib/histograms.py
numpy/lib/arraysetops.py
numpy/lib/function_base.py
numpy/lib/nanfunctions.py
numpy/lib/tests/test_function_base.py
numpy/lib/tests/test_nanfunctions.py
numpy/lib/info.py
numpy/matrixlib/tests/test_interaction.py
numpy/core/include/numpy/ufuncobject.h
numpy/core/src/multiarray/methods.c
numpy/core/src/multiarray/calculation.c
numpy/core/src/multiarray/calculation.h
numpy/core/src/multiarray/scalartypes.c.src
numpy/core/src/umath/_umath_tests.c.src
numpy/core/fromnumeric.py
numpy/core/code_generators/numpy_api.py
numpy/core/tests/test_ufunc.py
numpy/core/tests/test_regression.py
numpy/core/info.py
numpy/core/_add_newdocs.py
numpy/ma/core.py
numpy/ma/API_CHANGES.txt
numpy/ma/README.txt
numpy/ma/tests/test_core.py
numpy/ma/tests/test_old_ma.py
Run Code Online (Sandbox Code Playgroud)

但是请注意:如果您是初学者并且在文档中找不到解释 - 就问吧。那快多了。举出让你困惑的好例子,努力表述问题。如果您的问题非常具体,并且如果 StackOverflow / numpy / scipy 上的 Github 问题无济于事,那么深入检查 numpy 的实现才是值得的。numpy/scipy 社区非常好。