English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دليل بايثون الأساسي

تحكم流程 بايثون

الوظائف في Python

أنواع البيانات في Python

عمليات ملف بايثون

أ物体 وصفات بايثون

تاريخ ووقت بايثون

معرفة متقدمة بايثون

كتيب مرجع بايثون

تحويل الأنواع في Python

قبل دراسة تحويل النوع في بايثون، يجب أن تعرف  نوع بيانات بايثون.

تحويل النوع

عملية تحويل قيمة نوع البيانات من نوع واحد (عدد صحيح، نص، عدد عشري، إلخ) إلى نوع آخر يسمى تحويل النوع. يحتوي بايثون على نوعين من تحويل النوع.

  1. تحويل النوع التلقائي

  2. التحويل التعبيري

تحويل النوع التلقائي

في التحويل التلقائي للنوع، يقوم بايثون تلقائيًا بتحويل نوع البيانات من واحد إلى آخر. هذا العمل لا يتطلب أي مشاركة من المستخدم.

دعنا نرى مثالاً، حيث يسرع بايثون تحويل نوع البيانات الأقل (العدد الصحيح) إلى نوع البيانات الأعلى (العدد العشري) لتجنب فقدان البيانات.

مثال 1: تحويل العدد الصحيح إلى عدد عشري لتجنب فقدان البيانات.

num_int = 123
num_flo = 1.23
num_new = num_int + num_flo
print("نوع البيانات للـ num_int:",type(num_int))
print("نوع البيانات لـ num_flo:",type(num_flo))
print("قيمة num_new:",num_new)
print("نوع البيانات لـ num_new:",type(num_new))

عند تشغيل البرنامج المذكور أعلاه، الناتج سيكون:

نوع البيانات للـ num_int: <class 'int'>
نوع البيانات لـ num_flo: <class 'float'>
قيمة num_new: 124.23
نوع البيانات لـ num_new: <class 'float'>

في البرنامج المذكور أعلاه

  • سنقوم بجمع المتغيرينnum_intوجمع num_flo، ونخزن القيمة في متغيرفي num_new.

  • نحن ننظر إلى نوع البيانات لكل من الثلاثة أجسام.

  • في الناتج، يمكننا رؤيةnum_intنوع البيانات هو integer،num_floنوع البيانات هو float.

  • إضافة إلى ذلك، يمكننا رؤيةnum_newنوع البيانات float، لأن Python دائمًا ما يقوم بتحويل النوع البياني الأصغر إلى النوع البياني الأكبر لتجنب فقدان البيانات.

الآن، دعونا نحاول جمع نص وعدد صحيح، ونرى كيف يعالج Python ذلك.

مثال 2: جمع نوع البيانات النصي (أعلى) ونوع البيانات العددية (أدنى)

num_int = 123
num_str = "456"
print("نوع البيانات للـ num_int:",type(num_int))
print("نوع البيانات لـ num_str:",type(num_str))
print(num_int+num_str)

عند تشغيل البرنامج المذكور أعلاه، الناتج سيكون:

نوع البيانات للـ num_int: <class 'int'>
نوع البيانات لـ num_str: <class 'str'>
Traceback (أحدث استدعاء أحدث): 
  ملف "python", سطر 7، في <module> 
TypeError: operand type(s) not supported for +: 'int' and 'str'

في البرنامج المذكور أعلاه

  • نحن نستخدم متغيرينnum_int وnum_strالجمع.

  • من خلال النظر في الناتج، يمكننا رؤية أن لدينا TypeError. في هذه الحالة، لا يمكن استخدام تحويل التكوين Python.

  • لكن، يقدم Python حلًا لهذا النوع من الحالات يُدعى "التحويل التعبيري".

التحويل التعبيري

في "التحويل التعبيريفيها، يقوم المستخدم بتحويل نوع البيانات للمثل إلى نوع البيانات المطلوب. نستخدم مثل وظائف مسبقة التحديد int()، float()، str() وما إلى ذلك للتحويل التعبيري.

يُطلق على هذا النوع من التحويل تحويل النوع، لأن المستخدم يُجبر على تحويل (تغيير) نوع البيانات للمثل.

النحو :

<required_datatype>(expression)

يمكن إكمال تحويل نوع البيانات من خلال تخصيص وظيفة نوع البيانات المطلوبة للتعبير.

مثال 3: استخدام التحويل المبرمج لإضافة عدد صحيح وترتيب

num_int = 123
num_str = "456"
print("نوع البيانات للـ num_int:",type(num_int))
print("نوع البيانات للـ num_str قبل التحويل النوعي:",type(num_str))
num_str = int(num_str)
print("نوع البيانات للـ num_str بعد التحويل النوعي:",type(num_str))
num_sum = num_int + num_str
print("إجمالي num_int و num_str:",num_sum)
print("نوع البيانات لـ sum:",type(num_sum))

عند تشغيل البرنامج المذكور أعلاه، الناتج سيكون:

نوع البيانات للـ num_int: <class 'int'>
نوع البيانات للـ num_str قبل التحويل النوعي: <class 'str'>
نوع البيانات للـ num_str بعد التحويل النوعي: <class 'int'>
إجمالي num_int و num_str: 579
نوع البيانات لـ sum: <class 'int'>

في البرنامج المذكور أعلاه

  • نحنnum_strوnum_intالمتغيرات.

  • نستخدم دالة int() لتحويلnum_strمن نوع string (عالي) إلى نوع integer (منخفض) للقيام بالإضافة.

  • لتحقيقnum_strبعد التحويل إلى عدد صحيح، يمكن لبايثون إضافة هذين المتغيرين.

  • في النهاية، نحصل علىnum_sumالقيمة وواحدة من القيم وكذا نوع البيانات الخاص بها هو عدد صحيح.

نقاط يجب تذكرها

  1. التحويل النوعي هو تحويل العنصر من نوع بيانات إلى نوع آخر.

  2. التحويل النوعي التلقائي يتم تنفيذه من قبل معالج بايثون تلقائيًا.

  3. بايثون يمنع فقدان البيانات في التحويل النوعي التلقائي.

  4. التحويل النوعي المبرمج يُعرف أيضًا بتحويل النوع، حيث يستخدم المستخدم الدوال المسبقة التحول إلى نوع بيانات جديد للعنصر.

  5. في عملية التحويل النوعي، قد يحدث فقدان البيانات عند تحويل العنصر إلى نوع بيانات معين.