有没有办法更好地理解函数背后的逻辑,而不是仅仅使用它/尝试错误或引用文档?例如 tolist()
我在谷歌上搜索过,没有找到我可以引用或重新创建的源代码。我想了解某些功能的基本构建 block 。或者有更好的建议来理解第 3 方功能/包吗?
请您参考如下方法:
Andrew Bowling 是对的,源代码在 github.com/numpy/numpy 上.但是,还有更简单的方法。
例如,假设我想找到 numpy.cumsum 的实现:
- 谷歌搜索。你会发现 documentation page
- 点击 [source]在文档页面上。
- 请记住,实现可能比阅读文档复杂得多。大部分写在fortran .
另一种方法是克隆存储库并使用 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
但是请注意:如果您是初学者并且在文档中找不到解释 - 就问吧。那要快得多。举出让你感到困惑的好例子,努力措辞问题。只有当您的问题非常具体并且 StackOverflow/Github 上的 numpy/scipy 问题无济于事时,才值得深入检查 numpy 的实现。 numpy/scipy 社区非常好。
