نوفيل
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
دخولابدأ مجاناً
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
نوفيل

منصة تعليم البرمجة الأولى بالعربي. تعلم من الصفر حتى الاحتراف مع كورسات احترافية وتحديات ذكاء اصطناعي.

المنصة

  • الكورسات
  • التحديات
  • المقالات
  • الأدوات

الحساب

  • إنشاء حساب
  • تسجيل الدخول
  • لوحة التحكم
  • الملف الشخصي

روابط

  • سياسة الخصوصية
  • شروط الاستخدام
  • عن نوفيل
  • تواصل معنا

© 2026 نوفيل. جميع الحقوق محفوظة.

صُنع بـ في مصر

نوفيل
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
دخولابدأ مجاناً
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
PY

منهج Python

دليل مرجعي شامل

كل اللغات
مدرسة البرمجة/منهج Python/تحويل أنواع البيانات

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

تحويل أنواع pythontype casting pythonint str float pythonpython casting

جدول مرجعي سريع

1

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

الدالة أو المفهوم البرمجيآلية التحويل والتأثير في الذاكرةمثال الشيفرة والنتيجة المتوقعة
الدالة intتحول القيمة النصية الرقمية أو العدد العشري إلى عدد صحيح عن طريق بتر الكسركود int لـ 3.14 يعيد 3 وكود int لنص 5 يعيد 5
الدالة floatتحول العدد الصحيح أو النص الرقمي إلى عدد عشري بفاصلة عائمةكود float لـ 5 يعيد 5.0
الدالة strتحول أي نوع بيانات سواء كان رقماً أو كائناً إلى سلسلة نصية قابلة للقراءةكود str لـ 100 يعيد نص 100 بين علامتي تنصيص
الدالة boolتحول القيمة إلى منطقية حيث تعيد False مع القيم الفارغة والصفرية وتعيد True مع ما عدا ذلككود bool لـ 0 يعيد False
الدالة listتحول الكائنات القابلة للتكرار مثل النصوص أو التوبل إلى قائمة مصفوفية مرنةكود list للنص abc يعيد قائمة بها العناصر a و b و c
الدالة tupleتحول الكائنات القابلة للتكرار كالقوائم إلى صف ثابت غير قابل للتعديلكود tuple لقائمة يعيد العناصر داخل أقواس دائرية
القيم الضعيفة Falsy Valuesقيم تعتبرها بايثون خاطئة منطقياً عند تحويلها وتضم الصفر والنصوص والمصفوفات الفارغة وNoneكود bool لـ قائمة فارغة يعيد False تلقائياً
التحويل التلقائي Implicitقيام محرك بايثون بترقية نوع البيانات تلقائياً دون تدخل المطور لمنع فقدان دقة البياناتكود جمع int مع float ينتج عنه float تلقائياً
التحويل الصريح Explicitقيام المطور باستخدام دوال التحويل يدوياً لتغيير نوع المتغير والتحكم في سير البياناتكود تحويل مدخلات المستخدم النصية إلى أرقام لإجراء عمليات حسابية

الشرح

تحويل أنواع البيانات (Type Casting)

1. مفهوم تحويل الأنواع في Python

تحويل أنواع البيانات (Type Casting / Type Conversion) هو عملية تغيير القيمة المخزنة من نوع بيانات معين (مثل: نص str) إلى نوع بيانات آخر (مثل: رقم صحيح int). تُعد هذه العملية حيوية جداً في البرمجة، لا سيما عند التعامل مع البيانات القادمة من مصادر خارجية مثل مدخلات المستخدمين (User Inputs)، أو قواعد البيانات، أو ملفات النص؛ حيث تصل البيانات غالباً في صيغة نصية وتحتاج إلى معالجة رقمية.

ينقسم تحويل الأنواع في بايثون إلى آليتين أساسيتين: التحويل التلقائي (Implicit) والتحويل الصريح (Explicit).

2. أنواع تحويل البيانات (Types of Conversion)

أولاً: التحويل التلقائي (Implicit Type Conversion) في هذا النمط، يقوم محرك بايثون بتحويل نوع البيانات تلقائياً دون أي تدخل من المطور. يحدث هذا عادةً عندما تجتمع أنواع بيانات مختلفة في عملية حسابية واحدة؛ حيث تقوم بايثون بترقية (Upcasting) النوع الأصغر إلى النوع الأكبر والأكثر دقة لمنع فقدان البيانات (Data Loss).

ثانياً: التحويل الصريح (Explicit Type Conversion / Casting) في هذا النمط، يقوم المطور بجبر المتغير على تغيير نوعه باستخدام دوال التحويل الجاهزة (Built-in Functions). إذا كانت القيمة غير قابلة للتحويل منطقياً، تتوقف البيئة وتُصدر خطأ من نوع ValueError.

3. دوال التحويل الصريح الأساسية (Casting Functions) الدالة int(x): تحول القيمة إلى عدد صحيح. إذا تم تمرير عدد عشري لها، فإنها تقوم ببتر (Truncate) الجزء الكسري تماماً دون تقريب.

الدالة float(x): تحول القيمة إلى عدد عشري عبر إضافة فاصلة متبوعة بـ 0 إذا كان المدخل صحيحاً.

الدالة str(x): تحول أي كائن أو رقم إلى سلسلة نصية، وهي آمنة تماماً ولا تسبب أخطاء ValueError.

الدالتان list(x) و tuple(x): تستخدمان للتحويل بين هياكل التجميع القابلة للتكرار (Iterables).

4. القيم المنطقية الضعيفة (Falsy & Truthy Values) عند استخدام دالة التحويل المنطقي bool() على الكائنات والمتغيرات، تتبع بايثون قاعدة رياضية صارمة لتصنيف القيم. تنقسم جميع القيم في بايثون إلى فئتين:

1. القيم الخاطئة منطقياً (Falsy Values)

هي قيم محددة وثابتة في نواة اللغة، وتُرجع دائماً القيمة False عند تحويلها منطقياً، وتمثل حالات الفراغ والصفرية:

الرقم الصفر: 0, 0.0, 0j

النصوص الفارغة: "" (التي لا تحتوي على أي حرف أو مسافة)

المصفوفات والهياكل الفارغة: القوائم []، التوبل ()، المجموعات {}، القواميس {}

القيمة الفارغة الخاصة: None

القيمة المنطقية الأساسية: False

2. القيم الصحيحة منطقياً (Truthy Values)

أي قيمة أخرى في بايثون بخلاف القيم المذكورة أعلاه تُعتبر Truthy وتُرجع دائماً True عند تمريرها لدالة bool()، بما في ذلك الأرقام السالبة، أو النصوص التي تحتوي على مسافة فارغة واحدة فقط " ".

الصياغة (Syntax)

syntax
1# جمع عدد صحيح (int) مع عدد عشري (float)
2num_int = 10 # int
3num_float = 5.5 # float
4
5result = num_int + num_float
6print(result) # المخرج: 15.5
7print(type(result))# المخرج: <class 'float'> (تم التحويل تلقائياً)

أمثلة عملية

مثال 1: تحويل مدخلات المستخدم

تحويل مدخلات المستخدم
1# input() دائماً تعطي str
2age_text = input("أدخل عمرك: ") # مثلاً "25"
3
4# نحتاج تحويل إلى int قبل الحساب
5age = int(age_text)
6next_year = age + 1
7print(f"في السنة القادمة ستبلغ {next_year} عاماً")

مثال 2: التحويل بين الأنواع

التحويل بين الأنواع
1# من str إلى أرقام
2price = float("49.99")
3quantity = int("5")
4total = price * quantity
5print(f"الإجمالي: {total}")
6
7# من أرقام إلى str
8num = 42
9text = "الرقم هو: " + str(num)
10print(text)
11
12# bool
13print(bool(0)) # False
14print(bool(1)) # True
15print(bool("")) # False
16print(bool("Hi")) # True

نصائح احترافية

  • —**نصائح تحويل الأنواع:**
  • —استخدم `try/except` عند التحويل لتجنب الأخطاء: `int("abc")` سيسبب خطأ
  • —`int(3.9)` يُحوّل بالتقطيع لا التقريب (يعطي 3 لا 4)
  • —`round()` للتقريب الصحيح
  • —تحقق دائماً من مدخلات المستخدم قبل التحويل

الدرس السابق

التعامل مع النصوص ودوالها في بايثون

الدرس التالي

استقبال مدخلات المستخدم

نوفيل

منصة تعليم البرمجة الأولى بالعربي. تعلم من الصفر حتى الاحتراف مع كورسات احترافية وتحديات ذكاء اصطناعي.

المنصة

  • الكورسات
  • التحديات
  • المقالات
  • الأدوات

الحساب

  • إنشاء حساب
  • تسجيل الدخول
  • لوحة التحكم
  • الملف الشخصي

روابط

  • سياسة الخصوصية
  • شروط الاستخدام
  • عن نوفيل
  • تواصل معنا

© 2026 نوفيل. جميع الحقوق محفوظة.

صُنع بـ في مصر