تعریف ufunc
تعریف Universal Functions (ufunc) در NumPy
در کتابخانه NumPy پایتون، Universal Functions یا ufunc به توابعی گفته میشود که عملیات عنصر به عنصر (element-wise) را روی آرایههای ndarray انجام میدهند. این توابع یکی از پایهایترین مفاهیم در محاسبات عددی با NumPy هستند.
ufuncها هسته اصلی محاسبات برداری در NumPy را تشکیل میدهند و عملکرد بسیار بهتری نسبت به حلقههای معمولی پایتون ارائه میکنند.
ویژگیهای کلیدی ufuncها
- پشتیبانی از پخش آرایهها (broadcasting)
- اجرای عملیات بر روی عناصر آرایه بدون نیاز به حلقه
- پشتیبانی از کاهش (reduction) و تجمع (accumulation)
- امکان استفاده از روشهای خارجی (out parameter)
نوع ufunc | توضیح | مثال |
---|---|---|
یگانه (Unary) | یک ورودی میگیرد و یک خروجی تولید میکند | np.sqrt(), np.exp() |
دوتایی (Binary) | دو ورودی میگیرد و یک خروجی تولید میکند | np.add(), np.multiply() |
مزایای استفاده از ufuncها
استفاده از ufuncها در NumPy چندین مزیت مهم دارد:
- سرعت اجرای بالا: این توابع در سطح پایین بهینهسازی شدهاند
- خوانایی کد: جایگزین مناسبی برای حلقههای پیچیده
- انعطافپذیری: قابلیت کار با آرایههای چندبعدی
- پشتیبانی از انواع داده: کار با انواع عددی مختلف
برای یادگیری عمیقتر درباره ufuncها در NumPy، میتوانید به این صفحه بروید و مثالهای کاربردی بیشتری را مشاهده کنید.
نمونه کد عملی
مثال ساده از استفاده از ufunc برای محاسبه جذر عناصر آرایه:
import numpy as np arr = np.array([1, 4, 9, 16]) result = np.sqrt(arr) # ufunc جذر print(result) # خروجی: [1. 2. 3. 4.]
همانطور که مشاهده میکنید، ufuncها به سادگی و با کارایی بالا عملیات ریاضی را روی تمام عناصر آرایه اعمال میکنند.