2013-05-22 23 views
13

Ich habe es selbst auf Python 3.3 gebaut, aber ich kann nicht für das Leben von mir die Klassendefinition von numpy.array() finden. Ich habe den ganzen Code durchgesehen und sogar die Core C Dateien gefunden, aber wo ist die Dang Array Klasse?Wie lese ich numpy source?

Kann mir jemand sagen, in welches Verzeichnis man schauen soll oder wie man es von der Python-Shell herausfinden kann?

Antwort

23
  • np.array keine Klasse selbst, sondern nur eine Komfortfunktion ein np.ndarray
  • ndarray ist nur ein Alias ​​erstellen, um Multiarray, die in C-Code implementiert ist (glaube ich, in einem .so dh gemeinsam genutztes Objekt, kompilierte Code)
  • Sie können die NDarray-Schnittstellen hier in numeric.py betrachten.
  • Das meiste Fleisch der Implementierung ist in C-Code, here in multiarray.
  • array() wird in core/src/multiarray/methods.c in array_getarray() implementiert