اكتب التحويل وصب النوع في بايثون موضحًا بأمثلة
نشرت: 2020-02-19تحتوي Python على العديد من أنواع البيانات ، وكمبرمج ، يجب أن تعرف كيفية تحويل نوع بيانات Python إلى نوع آخر. تحتوي Python على العديد من الوظائف المضمنة لهذه المهمة. وفي هذا الدليل البسيط ، سنلقي نظرة عليها لمساعدتك على فهم تحويلات الكتابة بشكل أفضل.
بعد الانتهاء من استخدام هذا الدليل ، ستعرف كيفية تحويل السلاسل إلى أعداد صحيحة والعكس صحيح. لذلك دون مزيد من اللغط ، فلنبدأ.
جدول المحتويات
أنواع البيانات في بايثون
قبل أن نبدأ مناقشتنا حول تحويل النوع في Python ، دعنا نلقي نظرة سريعة على جميع أنواع البيانات الموجودة بهذه اللغة:
عدد صحيح
يمكن أن تكون قيم الأعداد الصحيحة بالطول الذي تريده. كما هو الحال في الرياضيات ، فإن الأعداد الصحيحة في بايثون هي أرقام أيضًا. لكن لا يمكنك الحصول على أعداد صحيحة طويلة إلى ما لا نهاية إلا إذا كان لديك جهاز كمبيوتر عملاق. تعامل Python أي رقم بدون بادئة باعتباره عددًا صحيحًا. تتضمن هذه الأرقام أرقامًا عشرية أيضًا.
أرقام النقطة العائمة
العوامات في بايثون هي أرقام مكتوبة بعلامة عشرية لفصل الأرقام الكسرية عن العدد الصحيح. بعض الأمثلة على أرقام الفاصلة العائمة هي 4.3 ، 9.18 ، إلخ. يمكنك إضافة "e" للترميز العلمي في بايثون أيضًا.
ارقام مركبة
الأعداد المركبة في بايثون تتبع هذا التنسيق: (الجزء الحقيقي + الجزء التخيلي). بعض الأمثلة على الأعداد المركبة هي (3 + 2i) ، (8-2x) ، إلخ.
سلاسل
يمكن أن تكون السلاسل أي مجموعة معينة من الأحرف في بايثون. يشار إليها باسم str. يمكنك كتابتها باستخدام علامات الاقتباس. يمكنك استخدام علامات الاقتباس الفردية وكذلك علامات الاقتباس المزدوجة لكتابة السلاسل في Python. يمكن أن تكون السلاسل عبارة عن أي أحرف موضوعة بين علامات اقتباس مثل "91" و "مرحبًا" وما إلى ذلك.
تمامًا مثل الأعداد الصحيحة ، لا يوجد حد لطول الأحرف في السلاسل. السلاسل من أنواع مختلفة ، مثل السلاسل ذات الاقتباس الثلاثي ، والسلاسل الأولية ، وغيرها الكثير. ومع ذلك ، إذا بدأنا في مناقشة السلاسل وأنواعها ، فستستغرق هذه المقالة وقتًا طويلاً.
نوع البيانات المنطقية
نوع البيانات النهائي الذي تركناه للمناقشة هو نوع البيانات المنطقية. يمكن أن تحتوي البيانات المنطقية على قيمة من قيمتين ، وهما صواب وخطأ. القيم المنطقية ضرورية جدًا في بايثون لأسباب عديدة. يمكنك استخدام القيم المنطقية لتحديد مصداقية الكائنات والقيم.
قراءة: راتب Python Developer في الهند 2020
نظرًا لأنك ستتعلم المزيد حول العوامل المنطقية في Python ، فسيتعين عليك التعامل مع الكائنات والقيم المنطقية.
كانت هذه جميع أنواع البيانات موجودة في بايثون. تعرف على المزيد حول أنواع البيانات في Python. بصرف النظر عن أنواع البيانات هذه ، تمتلك Python أيضًا العديد من الوظائف المضمنة ، والتي تساعدها في أداء مجموعة متنوعة من المهام. سنحتاج إلى استخدام بعض الوظائف المضمنة لتنفيذ تحويل النوع أيضًا. تحقق من برامج علوم البيانات لدينا للتعرف على أنواع مختلفة من التحويلات.
الآن بعد أن ناقشنا أنواع البيانات ، يمكننا الانتقال إلى تحويل النوع.
أنواع مختلفة من نوع التحويلات في بايثون
يوجد نوعان من تحويلات النوع في بايثون. هم كالتالي:
ضمني
في هذه الحالة ، تقوم Python بتحويل نوع بيانات إلى نوع آخر تلقائيًا. أنت ، المستخدم ، لست مضطرًا للمشاركة في هذه العملية. فيما يلي مثال على التحويل الضمني لعدد صحيح إلى عدد عشري في بايثون:
عدد_نت = 18
num_flo = 1.8
num_new = num_int + num_flo
طباعة ("نوع بيانات num_int:" ، اكتب (num_int))
طباعة ("نوع بيانات num_flo:" ، اكتب (num_flo))
print ("قيمة num_new:" ، رقم_جديد)
print ("نوع بيانات num_new:" ، اكتب (num_new))
سيكون إخراج الكود أعلاه كما يلي:
نوع بيانات num_int: <class 'int'>
نوع بيانات num_flo: <class 'float'>
قيمة العدد الجديد: 19.8
نوع بيانات num_new: <class 'float'>
كما ترى ، كان علينا فقط إضافة num_flo و num_int مع num_new للحصول على الإخراج المطلوب. قمنا بتحويل العدد الصحيح 18 إلى عدد عشري 19.8 من خلال بضعة أسطر من التعليمات البرمجية. الشيء المهم الذي يجب ملاحظته هنا هو أن Python حولت العدد الصحيح إلى عدد عشري تلقائيًا.
صريح
في حالة تحويل النوع الصريح ، نستخدم وظائف لأغراض التحويل. تذكر الوظائف المضمنة التي ذكرناها من قبل؟ سيكونون في متناول اليد في هذا القسم. اسم آخر للتحويلات الصريحة هو typecasting. يحمل هذا الاسم لأنك أنت ، المستخدم ، تقوم بإلقاء نوع البيانات للكائن المعني.

هناك بعض وظائف تحويل الأنواع التي يجب أن تكون على دراية بها لأداء التلبيس في Python. Int (a ، base) هي وظيفة شائعة حيث يمكنها تحويل أي نوع بيانات إلى عدد صحيح. يمكن لـ float () تحويل أي نوع بيانات إلى رقم فاصلة عائمة. يحول oct () الأعداد الصحيحة إلى سلاسل ثماني ، ويحول hex () الأعداد الصحيحة إلى سلاسل سداسية عشرية.
فيما يلي مثال على تحويل النوع باستخدام oct ():
ج = أكتوبر (80)
طباعة ("الإخراج:" ، النهاية = ")
طباعة (ج)
وسيكون الناتج:
الإخراج: 0o120
عند العمل بهذه الوظائف ، تذكر أن بناء الجملة لهذا التحويل يجب أن يكون:
(نوع البيانات المطلوب) (تعبير)
هناك العديد من أنواع التحويلات التي يمكنك إجراؤها في Python. ومع ذلك ، هناك نوعان منها ، والتي ستحقق أفضل أداء. يمكن أن يكون تحويل السلاسل إلى أعداد صحيحة والعكس صحيح نقطة انطلاق رائعة. لذلك دعونا نناقش كل نوع من هذه التحويلات بشكل منفصل من أجل فهم أفضل لهذا الموضوع:
قراءة: أفكار ومواضيع لمشروع مطور Python
تحويل السلسلة إلى int Python
يمكنك تحويل سلسلة إلى int Python من خلال دالة int (). يمنحك عددًا صحيحًا عشريًا بنقرة واحدة فقط. يفترض أن التعبير الذي أدخلته هو عدد صحيح عشري ، ولكن إذا لم يكن كذلك ، فسيعيد ValueError. ونحن لا نريد ذلك. يمكنك ذكر نظام الأرقام الذي تطلبه من خلال إعطاء القيمة أساسًا لتجنب هذه المشكلة.
لذلك ، إذا كنت تقوم بتحويل سلسلة نصية إلى int في Python ، يمكنك القيام بذلك:
int ("5")
أو يمكنك إضافة قاعدة لأنواع مختلفة من السلاسل:
int ("5" ، الأساس = 10)
الآن دعونا نناقش عكس هذا التحويل ، أي عندما تحتاج إلى تحويل عدد صحيح إلى سلسلة.
تحويل int إلى String Python
يمكنك استخدام الدالة str () لتحويل الأعداد الصحيحة إلى سلاسل. ما عليك سوى اتباع الصيغة التي ذكرناها من قبل:
شارع (5)
يمكن للسلاسل تحويل الأعداد الصحيحة إلى تعبيرات عشرية إذا كنت تستخدم حرفية ثنائية. ومع ذلك ، تمامًا كما هو الحال مع الوظيفة int ، يمكنك إضافة المزيد من المعلومات للتحويلات المختلفة إذا طلبت ذلك. يمكنك الحصول على نتائج ثماني وثنائية وحتى سداسية عشرية باستخدام هذه الوظيفة.
بعد القليل من الممارسة ، يمكنك أداء مهام أكثر تعقيدًا من خلال تحويل الكتابة أيضًا. فيما يلي مثال على إضافة سلسلة بعدد صحيح من خلال التلبيس:
عدد_نت = 256
num_str = "64"
print ("نوع بيانات num_int:" ، اكتب (num_int))
طباعة ("نوع بيانات num_str قبل نوع الصب:" ، اكتب (num_str))
num_str = int (num_str)
print ("نوع بيانات num_str بعد نوع الصب:" ، اكتب (num_str))
num_sum = num_int + num_str
طباعة ("مجموع num_int و num_str:" ، num_sum)
print ("نوع بيانات المجموع:" ، اكتب (num_sum))
ناتج الكود أعلاه سيكون كالتالي:
نوع بيانات num_int: <class 'int'>
نوع بيانات num_str قبل نوع الصب: <class 'str'>
نوع بيانات num_str بعد نوع الصب: <class 'int'>
مجموع num_int و num_str: 320
نوع بيانات المجموع: <class 'int'>
كما ترى ، هناك الكثير من المرح. لا تتردد في تجربة تحويلات النوع وتوسيع قاعدة المعرفة الخاصة بك.
خاتمة
نأمل أن تكون قد تعلمت الكثير من هذه المقالة. يعد إجراء تحويلات الكتابة أحد الأشياء العديدة التي يمكنك القيام بها باستخدام وظائف Python.
إذا كنت تقرأ هذا المقال ، فمن المرجح أن لديك طموحات لتصبح مطور Python. إذا كنت مهتمًا بتعلم Python وترغب في جعل يديك متسخًا في الأدوات والمكتبات المختلفة ، فراجع دبلوم PG الخاص بـ IIIT-B في علوم البيانات.
في الترميز ، كيف تختلف التحويلات الصريحة عن التحويلات الضمنية؟
تحويل النوع الضمني هو تحويل نوع يتم تحديده من قبل المستخدم ويجبر التعبير على أن يكون من نوع معين. عندما يتم دمج العديد من أنواع البيانات معًا في تعبير ما ، يقوم المترجم بإجراء تحويل ضمني للنوع. التحويل الصريح ، المعروف أيضًا باسم casting ، هو عندما نحول صراحةً من نوع بيانات إلى آخر عن طريق تنفيذ الوظيفة المناسبة لنوع البيانات الذي نرغب في التحويل إليه. بدون مساعدة المبرمج ، يتم إنجاز تحويل نوع ضمني.
كيف يختلف نوع الصب عن تحويل النوع؟
يجب أن يكون نوع البيانات الوجهة أصغر من نوع البيانات المصدر عند كتابة إرسال نوع بيانات إلى نوع آخر. ومع ذلك ، يجب أن تكون بيانات المصدر أصغر من نوع البيانات الوجهة عند تحويل نوع بيانات إلى آخر. يجب أن يكتب المبرمج يدويًا نوعًا واحدًا من البيانات في نوع آخر. لا يتطلب تحويل نوع بيانات إلى آخر أي تدخل مبرمج لأن المترجم يقوم بتجميعها تلقائيًا أثناء تنفيذ البرنامج. هناك احتمال أن البيانات أو المعلومات ستفقد أثناء صب النوع. عند تحويل نوع بيانات صغير إلى نوع بيانات كبير ، فمن غير المرجح أن تُفقد البيانات.
أيهما أكثر فاعلية في Python- مجموعات أم قوائم؟
المجموعة هي مجموعة من كائنات بايثون مفصولة بفواصل وبسبب طبيعتها الثابتة ، تكون المجموعة أسرع من القائمة. تعتبر المجموعات أيضًا أكثر كفاءة من حيث الذاكرة من القوائم. عندما يتعلق الأمر بكفاءة الوقت ، تتمتع المجموعات بميزة ثانوية على القوائم ، لا سيما عندما يتعلق الأمر بالبحث عن قيمة. إذا كانت لديك بيانات لا يُفترض أن يتم تغييرها في المقام الأول ، فيجب تفضيل نوع بيانات tuple على القائمة. قد نقوم بعمل قائمة من المجموعات ، مما يعني أنه يمكن تغليف أعضاء المجموعة في قائمة وبالتالي اتباع نفس خصائص قائمة بايثون. نظرًا لأن Python Tuples تشغل مساحة أقل ، فإن إنشاء قائمة من المجموعات يكون أكثر عملية.