To wygląda moduł typing
został opracowany pod adresem:
https://github.com/python/typing
Głównym numpy
repozytorium jest w
https://github.com/numpy/numpy
Pythona błędów i zobowiązuje mogą być śledzone przy
http://bugs.python.org/
Zwykły sposób dodawania funkcji polega na rozwidleniu głównego repozytorium, rozwinięciu funkcji do momentu uzyskania odporności na bomby, a następnie przesłaniu żądania wyciągnięcia. Oczywiście w różnych punktach procesu chcesz uzyskać opinie od innych programistów. Jeśli nie możesz sam wykonać projektu, musisz przekonać kogoś, że jest to opłacalny projekt.
cython
ma formę adnotacji, której używa do generowania wydajnego kodu C
.
można odwoływać się array-like
paragraf w numpy
dokumentacji. Uwaga jego typing
informacje:
Prostym sposobem, aby dowiedzieć się, czy obiekt może być przekształcony w numpy tablicy za pomocą array() jest po prostu spróbować interaktywnie i sprawdzić, czy to działa! (Droga Python).
Innymi słowy programiści numpy
nie chcą zostać przypięci. Nie potrafią lub nie mogą opisać słowami, jakie rodzaje obiektów można lub nie można przekonwertować na np.ndarray
.
In [586]: np.array({'test':1}) # a dictionary
Out[586]: array({'test': 1}, dtype=object)
In [587]: np.array(['one','two']) # a list
Out[587]:
array(['one', 'two'],
dtype='<U3')
In [589]: np.array({'one','two'}) # a set
Out[589]: array({'one', 'two'}, dtype=object)
Dla własnych funkcji, adnotacja jak
def foo(x: np.ndarray) -> np.ndarray:
prac. Oczywiście, jeśli twoja funkcja kończy się wywoływaniem funkcji numpy
, która przekazuje swój argument za pomocą(jak wielu robi), taka adnotacja byłaby niepełna, ponieważ twoje dane wejściowe mogłyby być list
lub np.matrix
itd.
Nie przypominam sobie, aby widziałem jakiekolwiek użycie adnotacji typu Python3 w pytaniach lub odpowiedziach typu "numpy". – hpaulj
https://pypi.python.org/pypi/plac może korzystać z adnotacji Py3 - do wypełniania parsera "argparse". W Py2 używa dekoratorów do stworzenia podobnej bazy danych "annocation". – hpaulj
'wpisywanie' jest nowy w Py 3.5. Wielu użytkowników 'numpy' nadal pracuje z Py2. Mam 3,5 w moim systemie, ale nie mam zainstalowanego dla niego 'numpy'. Twórcy 'numpy' nie zamierzają dodawać funkcji dla nowatorskiego Pythona (z wyjątkiem operatora' @ ') – hpaulj