قم بإنشاء ufunc الخاص بك


كيف تصنع ufunc الخاص بك

لإنشاء ufunc الخاص بك ، يجب عليك تحديد وظيفة ، كما تفعل مع الوظائف العادية في Python ، ثم تقوم بإضافتها إلى مكتبة NumPy ufunc باستخدام frompyfunc()الطريقة.

تأخذ الطريقة frompyfunc()الوسيطات التالية:

  1. function- اسم الوظيفة.
  2. inputs- عدد وسيطات الإدخال (المصفوفات).
  3. outputs- عدد مصفوفات الإخراج.

مثال

قم بإنشاء ufunc الخاص بك للإضافة:

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]))

تحقق مما إذا كانت الوظيفة عبارة عن ufunc

تحقق من نوع الوظيفة للتحقق مما إذا كانت ufunc أم لا.

يجب أن يعود ufunc <class 'numpy.ufunc'>.

مثال

تحقق مما إذا كانت الوظيفة عبارة عن ufunc:

import numpy as np

print(type(np.add))

إذا لم يكن ufunc ، فسيعيد نوعًا آخر ، مثل وظيفة NumPy المضمنة هذه لربط مصفوفتين أو أكثر:

مثال

تحقق من نوع دالة أخرى: concatenate ():

import numpy as np

print(type(np.concatenate))

إذا لم يتم التعرف على الوظيفة على الإطلاق ، فسيتم إرجاع خطأ:

مثال

تحقق من نوع الشيء غير الموجود. سينتج عن هذا خطأ:

import numpy as np

print(type(np.blahblah))

لاختبار ما إذا كانت الدالة ufunc في عبارة if ، استخدم numpy.ufuncالقيمة (أو np.ufuncإذا كنت تستخدم np كاسم مستعار لـ numpy):

مثال

استخدم عبارة if للتحقق مما إذا كانت الوظيفة ufunc أم لا:

import numpy as np

if type(np.add) == np.ufunc:
  print('add is ufunc')
else:
  print('add is not ufunc')