Es sieht so aus, als ob das typingModul entwickelt wurde bei:
https://github.com/python/typing
Das Haupt- numpyRepository 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.
cythonhat eine Form von Anmerkungen, mit denen effizienter CCode generiert wird .
Sie haben array-likein der numpyDokumentation auf den Absatz verwiesen . Beachten Sie die typingInformationen:
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 numpyEntwickler 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 numpyFunktion 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.matrixusw. 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.
argparseParser zu füllen . Für Py2 werden Dekoratoren verwendet, um eine ähnlicheannocationDatenbank zu erstellen .