Es sieht so aus, als ob das typing
Modul entwickelt wurde bei:
https://github.com/python/typing
Das Haupt- numpy
Repository befindet sich unter
https://github.com/numpy/numpy
Python-Fehler und Commits können unter verfolgt werden
http://bugs.python.org/
Die übliche Methode zum Hinzufügen eines Features besteht darin, das Haupt-Repository zu teilen, das Feature so lange zu entwickeln, bis es bombensicher ist, und dann eine Pull-Anfrage zu senden. Natürlich möchten Sie an verschiedenen Stellen im Prozess Feedback von anderen Entwicklern. Wenn Sie die Entwicklung nicht selbst durchführen können, müssen Sie jemanden davon überzeugen, dass es sich um ein lohnendes Projekt handelt.
cython
hat eine Form von Anmerkungen, mit denen effizienter C
Code generiert wird .
Sie haben array-like
in der numpy
Dokumentation auf den Absatz verwiesen . Beachten Sie die typing
Informationen:
Eine einfache Möglichkeit, mit array () herauszufinden, ob das Objekt in ein numpy-Array konvertiert werden kann, besteht darin, es einfach interaktiv zu testen und zu prüfen, ob es funktioniert! (Der Python-Weg).
Mit anderen Worten, die numpy
Entwickler lehnen es ab, festgehalten zu werden. Sie beschreiben nicht oder nicht in Worten, in welche Arten von Objekten konvertiert werden kann oder nicht np.ndarray
.
In [586]: np.array({'test':1})
Out[586]: array({'test': 1}, dtype=object)
In [587]: np.array(['one','two'])
Out[587]:
array(['one', 'two'],
dtype='<U3')
In [589]: np.array({'one','two'})
Out[589]: array({'one', 'two'}, dtype=object)
Für Ihre eigenen Funktionen eine Anmerkung wie
def foo(x: np.ndarray) -> np.ndarray:
funktioniert. Wenn Ihre Funktion am Ende eine numpy
Funktion aufruft , die ihr Argument durchläuft asanyarray
(wie viele), wäre eine solche Anmerkung natürlich unvollständig, da Ihre Eingabe ein list
, oder np.matrix
usw. sein könnte.
Achten Sie bei der Bewertung dieser Frage und Antwort auf das Datum. 484 war damals ein relativ neues PEP und Code, um es für Standard-Python zu verwenden, das sich noch in der Entwicklung befindet. Es sieht jedoch so aus, als ob die bereitgestellten Links noch gültig sind.
argparse
Parser zu füllen . Für Py2 werden Dekoratoren verwendet, um eine ähnlicheannocation
Datenbank zu erstellen .