Skep jou eie ufunc
Hoe om jou eie ufunc te skep
Om jou eie ufunc te skep, moet jy 'n funksie definieer, soos jy doen met normale funksies in Python, dan voeg jy dit by jou NumPy ufunc-biblioteek met die frompyfunc()
metode.
Die frompyfunc()
metode neem die volgende argumente:
function
- die naam van die funksie.inputs
- die aantal invoerargumente (skikkings).outputs
- die aantal uitvoerskikkings.
Voorbeeld
Skep jou eie ufunc vir byvoeging:
import numpy as np
def myadd(x, y):
return x+y
myadd = np.frompyfunc(myadd, 2, 1)
print(myadd([1, 2,
3, 4], [5, 6, 7, 8]))
Kyk of 'n funksie 'n ufunc is
Gaan die tipe funksie na om te kyk of dit 'n ufunc is of nie.
'n Ufunc moet terugkeer <class 'numpy.ufunc'>
.
Voorbeeld
Kyk of 'n funksie 'n ufunc is:
import numpy as np
print(type(np.add))
As dit nie 'n ufunc is nie, sal dit 'n ander tipe terugstuur, soos hierdie ingeboude NumPy-funksie om twee of meer skikkings te verbind:
Voorbeeld
Kontroleer die tipe van 'n ander funksie: aaneenskakel():
import numpy as np
print(type(np.concatenate))
As die funksie glad nie herken word nie, sal dit 'n fout terugstuur:
Voorbeeld
Kontroleer die tipe iets wat nie bestaan nie. Dit sal 'n fout produseer:
import numpy as np
print(type(np.blahblah))
Om te toets of die funksie 'n ufunc in 'n if-stelling is, gebruik die numpy.ufunc
waarde (of np.ufunc
as jy np as 'n alias vir numpy gebruik):
Voorbeeld
Gebruik 'n if-stelling om te kyk of die funksie 'n ufunc is of nie:
import numpy as np
if type(np.add) == np.ufunc:
print('add is ufunc')
else:
print('add is not ufunc')