كيفية إجراء العمليات الحسابية في بايثون 3
تُعد لغة بايثون من أشهر لغات البرمجة وأكثرها استخداماً في مجالات متعددة مثل تطوير الويب، تحليل البيانات، الذكاء الاصطناعي، وغيرها. من أساسيات تعلم بايثون هو فهم كيفية إجراء العمليات الحسابية، والتي تعتبر حجر الزاوية لأي برنامج برمجي سواء كان بسيطاً أو معقداً. يتناول هذا المقال شرحاً مفصلاً لكيفية إجراء العمليات الحسابية في بايثون 3، مع توضيح الأنواع المختلفة للعمليات، الطريقة التي يتم بها تنفيذها، وأمثلة عملية توضح ذلك.
1. مقدمة عن العمليات الحسابية في بايثون 3
في بايثون، يمكن إجراء العمليات الحسابية باستخدام رموز وعوامل رياضية تعرف بـ “المشغلين” (Operators). هذه المشغلين تسمح بإجراء العمليات الأساسية مثل الجمع والطرح والضرب والقسمة، بالإضافة إلى العمليات الأكثر تعقيداً مثل العمليات على الأعداد الصحيحة، الأعداد العشرية، وحتى العمليات المنطقية والمنطقية الثنائية.
تعتمد بايثون في عملياتها الحسابية على قواعد رياضية بسيطة وقواعد ترتيب العمليات (الأسبقية)، والتي تحكم ترتيب تنفيذ العمليات عند وجود أكثر من عملية في تعبير واحد.
2. أنواع البيانات العددية في بايثون 3
قبل الحديث عن العمليات، من الضروري معرفة أنواع البيانات الرقمية التي يتعامل معها بايثون:
-
int: تمثل الأعداد الصحيحة مثل 5، -3، 0.
-
float: تمثل الأعداد العشرية مثل 3.14، -0.001، 2.0.
-
complex: تمثل الأعداد المركبة والتي تتكون من جزء حقيقي وجزء تخيلي، مثل 3+4j.
بايثون تدعم العمليات الحسابية بين هذه الأنواع المختلفة، مع مراعاة قواعد التحويل التلقائي بين الأنواع (Type Conversion).
3. العمليات الحسابية الأساسية
3.1 الجمع (+)
تستخدم علامة الجمع لإضافة رقمين أو أكثر.
pythona = 5
b = 3
result = a + b # الناتج 8
يمكن استخدام الجمع مع الأعداد الصحيحة والعشرية على حد سواء.
3.2 الطرح (-)
علامة الطرح تستخدم لطرح رقم من آخر.
pythona = 10
b = 4
result = a - b # الناتج 6
3.3 الضرب (*)
علامة النجمة تستخدم لضرب الأعداد.
pythona = 7
b = 6
result = a * b # الناتج 42
3.4 القسمة (/)
علامة القسمة تقوم بقسمة عدد على آخر، والناتج دائماً يكون عدد عشري (float) حتى لو كانت الأعداد صحيحة.
pythona = 15
b = 4
result = a / b # الناتج 3.75
3.5 القسمة الأرضية (//)
تقوم القسمة الأرضية بقسمة العددين مع تجاهل الجزء العشري والناتج يكون عدد صحيح.
pythona = 15
b = 4
result = a // b # الناتج 3
3.6 باقي القسمة (%)
تعيد عملية باقي القسمة باقي قسمة عدد على آخر.
pythona = 17
b = 5
result = a % b # الناتج 2
3.7 الأس (Exponentiation) (**)
تستخدم لرفع عدد إلى قوة معينة.
pythona = 3
b = 4
result = a ** b # الناتج 81 (3 مرفوع للأس 4)
4. ترتيب العمليات الحسابية في بايثون
تماماً كما في الرياضيات، هناك قواعد تحدد ترتيب تنفيذ العمليات في التعبير الرياضي. بايثون تتبع نفس قواعد الأولوية:
-
الأقواس
()لها أولوية التنفيذ الأعلى، بحيث يتم تنفيذ ما بداخلها أولاً. -
عمليات الأس
** -
الضرب
*والقسمة/والقسمة الأرضية//وباقي القسمة% -
الجمع
+والطرح-
مثال:
pythonresult = 2 + 3 * 4 # الناتج 14 وليس 20
لأن الضرب يتم أولاً، ثم الجمع.
5. العمليات الحسابية على الأعداد المركبة
بايثون تدعم الأعداد المركبة بشكل مباشر، ويمكن إجراء العمليات الحسابية عليها بسهولة:
pythona = 3 + 2j
b = 1 + 7j
result = a + b # (4+9j)
result2 = a * b # (-11+23j)
هذه الخاصية مهمة في التطبيقات العلمية والهندسية.
6. تحويل الأنواع الرقمية
أحياناً نحتاج لتحويل نوع رقمي إلى نوع آخر للقيام بعمليات محددة، بايثون توفر عدة دوال:
-
int()لتحويل قيمة إلى عدد صحيح. -
float()لتحويل إلى عدد عشري. -
complex()لتحويل إلى عدد مركب.
pythona = 5.7
b = int(a) # 5
c = 3
d = float(c) # 3.0
7. العمليات الحسابية المتقدمة
7.1 العمليات الرياضية باستخدام مكتبة math
توفر مكتبة math في بايثون مجموعة من الدوال الرياضية المتقدمة مثل الجذور، اللوغاريتمات، الدوال المثلثية، وغيرها.
مثال:
pythonimport math
result = math.sqrt(16) # الجذر التربيعي، الناتج 4.0
angle = math.radians(90)
sin_value = math.sin(angle) # قيمة جيب الزاوية 90 درجة
7.2 العمليات باستخدام مكتبة decimal
لتجنب مشاكل الدقة في العمليات العشرية، يمكن استخدام مكتبة decimal التي تعطي دقة عالية للعمليات العشرية.
pythonfrom decimal import Decimal
a = Decimal('0.1')
b = Decimal('0.2')
result = a + b # الناتج 0.3 بدقة عالية
8. العمليات الحسابية على المتغيرات والثوابت
يمكن إجراء العمليات الحسابية على متغيرات تحتوي على أرقام، ويتم تحديث القيم بسهولة:
pythonx = 10
x = x + 5 # x الآن 15
y = 7
y *= 3 # y الآن 21
تستخدم عمليات الاختصار مثل +=، -=, *=, /= لتسهيل كتابة الكود.
9. العمليات الحسابية في السلاسل النصية
بايثون تسمح بجمع السلاسل النصية باستخدام عامل الجمع، لكن لا يمكن استخدام العمليات الحسابية الرقمية معها إلا بعد تحويلها.
pythona = "5"
b = "10"
result = int(a) + int(b) # 15
10. التعامل مع الأخطاء في العمليات الحسابية
أثناء تنفيذ العمليات الحسابية، قد تواجه بعض الأخطاء مثل القسمة على صفر، أو عمليات غير صالحة. يجب التعامل معها باستخدام استثناءات try-except.
pythontry:
result = 10 / 0
except ZeroDivisionError:
result = "لا يمكن القسمة على صفر"
11. أمثلة تطبيقية على العمليات الحسابية في بايثون
حساب متوسط أرقام
pythonnumbers = [10, 20, 30, 40, 50]
total = sum(numbers)
count = len(numbers)
average = total / count # 30.0
حساب القوى والجذور
pythonnumber = 9
square = number ** 2 # 81
square_root = number ** 0.5 # 3.0
12. مقارنة العمليات الحسابية مع لغات برمجة أخرى
بايثون تميزت ببساطة التعامل مع العمليات الحسابية مقارنة بلغات أخرى مثل C أو Java، حيث أنها تدعم الأعداد الكبيرة تلقائياً ولا تحتاج لتعريف حجم المتغير مسبقاً. كما توفر مكتبات متقدمة بشكل افتراضي لتسهيل العمليات الرياضية المعقدة.
13. الجداول التوضيحية للمشغلين الحسابيين في بايثون 3
| المشغل (Operator) | الوصف | مثال | الناتج |
|---|---|---|---|
| + | جمع | 5 + 3 | 8 |
| – | طرح | 10 – 7 | 3 |
| * | ضرب | 4 * 6 | 24 |
| / | قسمة (ناتج float) | 15 / 4 | 3.75 |
| // | قسمة أرضية (تجاهل الكسور) | 15 // 4 | 3 |
| % | باقي القسمة | 17 % 5 | 2 |
| ** | الأس | 3 ** 4 | 81 |
14. خاتمة
تعد العمليات الحسابية في بايثون من أبسط وأقوى الأدوات التي تساعد المبرمجين في بناء برامج متنوعة من الحسابات البسيطة إلى المعالجات الرياضية المعقدة. مع فهم جيد لأنواع البيانات، المشغلين، ترتيب العمليات، واستعمال المكتبات المتخصصة، يمكن لأي مبرمج تنفيذ عمليات حسابية دقيقة وفعالة. تقدم بايثون مرونة كبيرة في التعامل مع الأعداد بكافة أنواعها وتوفر بيئة مناسبة لتطبيقات الحوسبة العلمية والهندسية والمالية.
المراجع
-
Official Python Documentation – https://docs.python.org/3/tutorial/introduction.html#using-python-as-a-calculator
-
Python Math Module – https://docs.python.org/3/library/math.html
بهذا الشرح التفصيلي، يكون قد تم تغطية كافة الجوانب المتعلقة بالعمليات الحسابية في بايثون 3 بشكل موسع ومفصل.

