طَبِّقْهاتعلّم المبدأ، وطبّقه بيدكمقرر 111 · أساسيات برمجة الحاسب
الدرس 5 · الوحدة 2: أساسيات بايثون

أنواع البيانات والتحويل بينها

نتعرّف على أنواع القيم، ونحوّل بينها عند الحاجة. ⏱ نحو 15 دقيقة.

int20float3.5str"سارة"boolTrue
بعد هذا الدرس ستستطيع أن:
  • تميّز الأنواع الأربعة: int و float و str و bool.
  • تعرف نوع أي قيمة بالدالة type.
  • تفرّق بين جمع الأعداد ولصق النصوص.
  • تحوّل بين الأنواع بـ int و float و str.

١لكل قيمة نوع

في الحياة نفرّق بين العدد والكلمة: نجمع الأعداد ولا نجمع الأسماء. وبايثون كذلك، لكل قيمة نوع. أهمها أربعة:

النوعاسمهأمثلة
intعدد صحيح20 و -5 و 0
floatعدد عشري3.5 و 99.9
strنص"سارة" و "123"
boolمنطقيTrue (صح) أو False (خطأ)

٢الدالة type

إذا لم تعرف نوع قيمة، اسأل بايثون بالدالة type():

main.py
print(type(20))print(type(3.5))print(type("سارة"))print(type(True))
Shell×
>>> %Run main.py
<class 'int'>
<class 'float'>
<class 'str'>
<class 'bool'>
>>>

٣"5" ليست 5

الرقم بين علامتي تنصيص نص، لا عدد. انظر الفرق عند الجمع:

main.py
print(5 + 5)print("5" + "5")
Shell×
>>> %Run main.py
10
55
>>>

مع العددين يحدث جمع: 10. ومع النصين يحدث لصق: "55". الشكل متشابه، لكن النوع يغيّر النتيجة.

٤التحويل بين الأنواع

نحوّل القيمة من نوع إلى آخر بدالة باسم النوع المطلوب:

الدالةتحوّل إلىمثالالناتج
int()عدد صحيحint("7")7
float()عدد عشريfloat("2.5")2.5
str()نصstr(10)"10"
main.py
a = "15"b = "5"print(int(a) + int(b))
Shell×
>>> %Run main.py
20
>>>

ستحتاج التحويل كثيرًا في درس الإدخال: ما يكتبه المستخدم يصل إلى البرنامج نصًّا دائمًا.

٥عندما يفشل التحويل

لا يستطيع بايثون تحويل نص ليس رقمًا إلى عدد، فيظهر خطأ ValueError:

main.py
print(int("سارة"))
Shell×
>>> %Run main.py
Traceback (most recent call last):
File "main.py", line 1, in <module>
print(int("سارة"))
ValueError: invalid literal for int() with base 10: 'سارة'
>>>
📎 للاستزادة (اختياري): التحويل من عشري إلى صحيح

int() على عدد عشري تحذف الكسر ولا تقرّب:

main.py
print(int(7.9))
Shell×
>>> %Run main.py
7
>>>

توقّع وتحقّق

ما نوع القيمة 3.14؟

فيها فاصلة عشرية.

ما نوع القيمة "100"؟

بين علامتي تنصيص، فهي نص.

ماذا يطبع print("3" + "4")؟

لصق نصين.

أي دالة تحوّل النص "8" إلى عدد صحيح؟

int() تحوّل إلى عدد صحيح.

الخلاصة

تحدٍّ برمجي: اجمع النصين

سهل

لديك درجتان محفوظتان نصًّا. حوّلهما إلى عددين، واطبع مجموعهما مع عنوانه.

المطلوب:
  • mark1 = "40" و mark2 = "35"
  • حوّل كل واحدة بـ int().
  • اطبع: المجموع: ثم الناتج.

ابدأ من هذا الكود، واضغط ▶ شغّل هنا لتكتب حلّك وتجرّبه مباشرة:

main.py
mark1 = "40"mark2 = "35"
المطلوب×
المجموع: 75
💡 تلميح 1
total = int(mark1) + int(mark2)

حاول بنفسك أولًا؛ للمسألة أكثر من حلّ صحيح.

main.py
mark1 = "40"mark2 = "35"total = int(mark1) + int(mark2)print("المجموع:", total)
انتقل إلى تقييم الدرساختيار من متعدد، وصح وخطأ، وأكمل الفراغ، وتتبّع الناتج.ابدأ التقييم ←