دوال الرياضيات في بايثون: التقريب، اللوغاريتمات، المضروب
يُعد التعامل مع الأرقام في بايثون أمرًا أساسيًا في التطبيقات العملية والحسابات العلمية. سواء كنت تحلل البيانات، أو تبني تطبيقات مالية، أو تعمل في مجال التعلم الآلي، فإن معرفة دوال الرياضيات في بايثون ستُبسط عملية التطوير بشكل كبير. كما أن دوال الرياضيات في بايثون تزيد من دقة حساباتك.
في هذا المقال، سنشرح بالتفصيل العمليات الرياضية الأساسية في بايثون. سنستعرض طرقًا مختلفة للتعامل مع الأرقام. وسنتعلم أمثلة عملية لتطبيق هذه الدوال.
وحدة math: الأداة الأساسية للحسابات الرياضية
توفر وحدة math المدمجة في بايثون مجموعة واسعة من الدوال لإجراء الحسابات الرياضية. تحتوي هذه الوحدة على جميع الأدوات اللازمة للتعامل مع الأرقام.
import math
الإمكانيات الرئيسية لوحدة math
تتضمن وحدة math العديد من الدوال المفيدة:
- الدوال المثلثية (sin, cos, tan)
- الدوال الزائدية (sinh, cosh, tanh)
- دوال التقريب (floor, ceil, trunc)
- الدوال اللوغاريتمية (log, log2, log10)
- دوال الأس (pow, sqrt)
- الثوابت الرياضية (pi, e)
تقريب الأرقام في بايثون
دالة round() للتقريب الأساسي
تُستخدم دالة round() لتقريب رقم إلى عدد معين من المنازل العشرية. هذه هي أبسط طريقة للتقريب في بايثون.
number = 3.14159265
rounded = round(number, 2)
print(rounded) # النتيجة: 3.14
صيغة استدعاء دالة round():
round(number, ndigits)
معاملات الدالة:
- number — الرقم المراد تقريبه
- ndigits — عدد المنازل العشرية (القيمة الافتراضية 0)
خصائص عمل دالة round()
تستخدم دالة round() قاعدة "التقريب إلى الرقم الزوجي". عندما تكون القيمة 0.5، يُقرّب الرقم إلى أقرب رقم زوجي:
print(round(0.5)) # النتيجة: 0
print(round(1.5)) # النتيجة: 2
print(round(2.5)) # النتيجة: 2
التقريب الرياضي باستخدام math.floor() و math.ceil()
توفر الدالتان math.floor() و math.ceil() تقريبًا موجهًا:
- math.floor() — تقريب الرقم لأسفل (باتجاه العدد الصحيح الأصغر)
- math.ceil() — تقريب الرقم لأعلى (باتجاه العدد الصحيح الأكبر)
import math
print(math.floor(3.7)) # النتيجة: 3
print(math.ceil(3.7)) # النتيجة: 4
print(math.floor(-3.7)) # النتيجة: -4
print(math.ceil(-3.7)) # النتيجة: -3
دالة math.trunc() لقص الجزء العشري
تقطع دالة math.trunc() الجزء العشري من الرقم دون تقريب:
print(math.trunc(3.7)) # النتيجة: 3
print(math.trunc(-3.7)) # النتيجة: -3
التقريب بدقة عالية باستخدام وحدة decimal
للحسابات المالية الدقيقة، يُنصح باستخدام وحدة decimal. توفر هذه الوحدة تحكمًا في دقة الحسابات. كما تمنع وحدة decimal أخطاء التقريب الناتجة عن الأعداد العشرية العائمة.
from decimal import Decimal, ROUND_HALF_UP
value = Decimal('3.4567')
rounded_value = value.quantize(Decimal('0.01'), rounding=ROUND_HALF_UP)
print(rounded_value) # النتيجة: 3.46
توفر وحدة decimal أوضاعًا مختلفة للتقريب:
- ROUND_HALF_UP — التقريب بعيدًا عن الصفر عند القيمة 0.5
- ROUND_HALF_DOWN — التقريب نحو الصفر عند القيمة 0.5
- ROUND_HALF_EVEN — التقريب إلى الرقم الزوجي
- ROUND_UP — التقريب لأعلى دائمًا
- ROUND_DOWN —