طرق مختلفة لتنسيق السلسلة في Python: أهم 3 طرق

نشرت: 2021-02-23

تنسيق السلاسل هو ميزة أساسية في لغات البرمجة لتنسيق أو إدراج القيم والمواضع المحددة من قبل المستخدم في السلاسل. كان للغة C طريقة واحدة للقيام بذلك والتي قد تكون على دراية بها إذا كان لديك بعض الخبرة في لغة C. ومع ذلك ، لا تدعم Python طريقة واحدة ، وليس طريقتين ، بل ثلاث طرق مختلفة للقيام بتنسيق السلسلة. كل طريقة لها مزاياها وعيوبها التي سنراها في هذا البرنامج التعليمي. سنرى أيضًا أي من الطرق الثلاث هي الطريقة الأكثر استخدامًا وفعالية.

تعلم دورات علوم البيانات عبر الإنترنت من أفضل الجامعات في العالم. اربح برامج PG التنفيذية أو برامج الشهادات المتقدمة أو برامج الماجستير لتتبع حياتك المهنية بشكل سريع.

بنهاية هذا البرنامج التعليمي ، ستعرف ما يلي:

  • طرق مختلفة لتنسيق السلسلة
  • استخدامها مع الأمثلة
  • ما هي الطريقة الأكثر تفضيلاً

جدول المحتويات

طرق مختلفة لتنسيق السلسلة

حصلت Python على تحديثات متعددة لتحسين تنسيق السلسلة. دعنا نذهب من خلال كل منهم واحدًا تلو الآخر.

الطريقة 1: تنسيق سلسلة نمط C

يتضمن Python الطريقة القديمة لتنسيق السلسلة باستخدام أحرف خاصة لكل نوع بيانات. تم اعتماد طريقة تنسيق السلسلة القديمة الجيدة هذه من لغة C ولا تزال فعالة للغاية. يتم استخدام محدد تنسيق السلسلة "٪" متبوعًا بحرف مخصص لكل نوع بيانات لتنسيق السلاسل.

لنستعرض مثالًا صغيرًا لفهم هذا:

عدد = 8
الاسم = "بينكمان"
طباعة ("الاسم٪ s والرقم٪ d"٪ (الاسم ، الرقم))

#انتاج
>> "الاسم بينكمان والرقم 8"

كما ترى ، تم استخدام محدد التنسيق٪ s لتنسيق اسم السلسلة وتم استخدام٪ d لتنسيق الرقم الصحيح. وبالمثل ، هناك محدد تنسيق لعائمة أيضًا. دعونا نتحقق من ذلك أيضًا.

الأسطوانات = 4.32
lis = [ 1 ، 3 ، 5 ]
طباعة ( "القائمة٪ s والعائمة٪ f" ٪ (lis، num))

#انتاج
>> القائمة هي [ 1 ، 3 ، 5 ] وقيمة عائمة تساوي 4.320000

في المثال أعلاه ، أستخدم محدد التنسيق٪ f لتنسيق القيمة العائمة. شيئين يجب ملاحظتهما هنا. أولاً ، تمت طباعة القيمة العائمة كـ 4.320000 وليس فقط 4.32. لما ذلك؟ هذا لأن Python تستخدم افتراضيًا دقة 6 فاصلة عشرية للعوامات. ثانيًا ، قمت بطباعة قائمة باستخدام محدد تنسيق السلسلة. لا يعني ذلك أن محدد تنسيق٪ s يمكنه استيعاب أي نوع من أنواع البيانات. إنه يحولها فقط إلى سلسلة ويطبعها. لذا فإن القائمة المطبوعة هي في الأساس سلسلة وليست قائمة.

حسنًا ، كيف يمكن تحديد عدد دقة الفاصلة العشرية المطلوبة؟

طباعة ("القائمة هي٪ s والعائمة بدقة نقطتين هي٪ .2f"٪ (lis ، num))

#انتاج
>> القائمة هي [ 1 ، 3 ، 5 ] وقيمة عائمة تساوي 4.32

هناك نقطة أخرى يجب ملاحظتها هنا وهي أننا نحتاج إلى إعطاء المتغيرات بالترتيب الذي تم استخدامها به في السلسلة. إذا تم تغيير الأمر ، فسيتم تعيين الإخراج ليتأثر وفقًا لذلك. البديل لعدم مطالبتنا بإعطاء المتغيرات بالترتيب الصحيح في كل مرة هو استخدام تنسيق السلسلة بطريقة مختلفة قليلاً.

طباعة ("القائمة٪ (a) s والعائمة٪ (b) f"٪ {"b": num، "a": lis})

#انتاج
>> القائمة هي [ 1 ، 3 ، 5 ] وقيمة عائمة تساوي 4.320000

وكما ترى ، فإن كتابة هذا أمر مرهق للغاية.

للتلخيص ، أكثر 3 محددات للتنسيق استخدامًا هي:

  1. ٪ s للسلاسل
  2. ٪ d للأعداد الصحيحة
  3. ٪. <دقة عشرية> f للعوامات

الطريقة 2: تنسيق سلسلة النمط الجديد

قدم Python 3 طريقة أفضل للقيام بتنسيق السلسلة باستخدام طريقة format () على السلاسل. يتم استخدام العنصر النائب عن طريق وضع أقواس متعرجة وتحتوي طريقة التنسيق على المتغيرات التي يجب وضعها في تلك المواضع في السلسلة. دعونا نلقي نظرة على مثال صغير لفهم هذا.

الاسم = "سكايلر"
طباعة ("مرحبًا ، اسمي {}". تنسيق (الاسم))

#انتاج
>> مرحبًا ، اسمي سكايلر

هذا أفضل بكثير من تنسيق النمط القديم الذي رأيناه أعلاه. تعمل الأقواس المتعرجة كعنصر نائب لاسم المتغير الذي يحتوي على سلسلة. لاحظ أنه باستخدام طريقة التنسيق ، لا نحتاج إلى تحديد نوع بيانات المتغير كما فعلنا في تنسيق النمط القديم.

مثال بالأرقام أيضًا:

عدد = 3
كثافة العمليات = 4.34
الاسم = "جيسي"

print ( "مرحبًا ، اسمي {} ، الرقم {} والعائم هو {}" . format (name، num، int))

#انتاج
>> مرحبًا ، اسمي jessy ، الرقم 3 و float هو 4.34

مرتب! كما ترى ، فإنه يحتاج إلى تمرير المتغيرات إلى طريقة التنسيق بالترتيب الذي تم استخدامها به في السلسلة. طريقة أخرى لاستخدام طريقة التنسيق بعدم مطالبتنا بتمرير جميع المتغيرات بالترتيب الصحيح:

print ("مرحبًا ، اسمي {name} ، الرقم {num} والعائم هو {int}". تنسيق (int = int ، num = num ، name = name))

#انتاج
>> مرحبًا ، اسمي jessy ، الرقم 3 و float هو 4.34

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

يمكننا أيضًا تمرير موضع المتغير في العناصر النائبة لتتبعها بشكل أفضل.

طباعة ("مرحبًا ، اسمي {0} ، الرقم {1} والعائم هو {2}". تنسيق (الاسم ، العدد ، int))

#انتاج
>> مرحبًا ، اسمي jessy ، الرقم 3 و float هو 4.34

الطريقة الثالثة: استخدام F-Strings

تم تقديم f-strings في Python 3.6 ، وهي الطريقة الأسهل والأكثر فاعلية للقيام بتنسيق السلسلة. وتسمى هذه أيضًا القيم الحرفية للسلسلة المنسقة. يستخدمون الحرف f في بداية السلسلة ليخبروا بيثون أن يتعامل معها كسلسلة منسقة. تحتوي العناصر النائبة على المتغيرات الفعلية التي يجب وضعها في هذا الموضع.

دعونا نلقي نظرة على مثال.

الاسم = "هيزنبرغ"
bill = 100.43print (f "الاسم {name} والفاتورة {bill}")

#انتاج
>> الاسم هايزنبرغ والفاتورة 100.43 _ _

كان هذا سهلا للغاية. علاوة على ذلك ، يمكننا أيضًا وضع التعبيرات مباشرة بدلاً من المتغيرات.

أ = 5
ب = 8

print ( f "المجموع هو {a + b} " )

#انتاج
>> المجموع 13

يمكننا أيضًا استدعاء الدوال مباشرةً والحصول على مخرجاتها في السلسلة الحرفية.

print ( f "الاسم هو {name.upper ()} " )

#انتاج
>> الاسم HEISENBERG

علاوة على ذلك ، يمكننا استخدام سلاسل f لإرجاع القيمة مباشرة من الدوال أيضًا.

الموحد def (الاسم والعمر والمال):
إرجاع "{name} يبلغ من العمر {age} ولديه راتب {money}"

شاول غودمان يبلغ من العمر 45 عامًا ويتقاضى راتبه 2000000

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

الخروج: أسئلة وأجوبة مقابلة بايثون

قبل ان تذهب

تنسيق السلسلة هو مهمة عادية والطريقة التي قدمت بها Python طريقة التنسيق وسلاسل f تجعلها سهلة للغاية على الأشخاص الذين يعملون مع Python. تعد سلاسل f هي الطريقة الأكثر استخدامًا والمفضلة للعمل مع تنسيق السلسلة لأنها تجعل من السهل جدًا الكتابة والصيانة. بالإضافة إلى ذلك ، فهو يجعل الكود أكثر بيثونية أيضًا! تحت الغطاء ، تستخدم سلاسل f بروتوكول __format__. حرف f هو مجرد سكر نحوي تقدمه Python لمستخدميها لتسهيل كتابة تنسيق السلسلة.

إذا كنت مهتمًا بالتعرف على علوم البيانات ، فراجع برنامج IIIT-B & upGrad التنفيذي PG في علوم البيانات الذي تم إنشاؤه للمهنيين العاملين ويقدم أكثر من 10 دراسات حالة ومشاريع ، وورش عمل عملية عملية ، وإرشاد مع خبراء الصناعة ، 1 - في 1 مع موجهين في الصناعة ، أكثر من 400 ساعة من التعلم والمساعدة في العمل مع الشركات الكبرى.

ما هي طرق التنسيق في Python 3 التي تسمح ببدائل متعددة وتنسيق القيمة؟

1. يحول أسلوب تنسيق السلسلة () المدمج في Python السلسلة المزودة إلى ناتج أكثر فائدة. تعد وظيفة format () في Python3 إحدى طرق تنسيق السلسلة التي تسمح ببدائل متعددة بالإضافة إلى تنسيق القيمة. تستخدم طريقة format () التنسيق الموضعي لربط العناصر داخل سلسلة.
2. يمكن تنسيق السلسلة باستخدام أزواج عديدة من الأقواس المتعرجة. إذا كانت هناك حاجة لاستبدال متغير آخر في سلسلة طويلة ، فيمكن إضافة المجموعة الثانية من الأقواس المتعرجة وتمرير القيمة الثانية إلى الإجراء.
3. تقبل وظيفة format () في Python أي عدد من المعلمات. ومع ذلك ، يتم فصلها بشكل أساسي إلى النوعين التاليين من المعلمات.
أ. المعلمات الموضعية هي قائمة من المعلمات التي يمكن استرجاعها عن طريق وضع فهرس المعلمة داخل أقواس متعرجة (فهرس).
ب. معلمات الكلمات الرئيسية - هذه قائمة بمعلمات المفتاح = القيمة التي يمكن الوصول إليها باستخدام مفتاح المعلمة داخل الأقواس المتعرجة.
4. طريقة format () ترجع سلسلة تم تنسيقها. تقرأ وظيفة format () نوع الوسائط المقدمة لها وتنسيقها وفقًا لرموز التنسيق في السلسلة.

كيف تطبع بدون سطر جديد في Python 3؟

أضف وسيطة إضافية لطريقة الطباعة في Python 3 لإخبار الكمبيوتر أنك لا تريد أن تكون السلسلة التالية في سطر جديد. ضع في اعتبارك السيناريو التالي.
طباعة ("مرحبًا!" ، النهاية = ")
في هذه الحالة ، ستظهر أي وظيفة طباعة أخرى على نفس السطر.

هل يمكننا تحويل سلسلة إلى تعويم في بايثون؟

1. إنها كائنات سلسلة إذا حصلنا على قيمة تعويم من خلال إدخال المستخدم عبر المحطة وكذلك قراءتها من ملف. نتيجة لذلك ، يجب علينا تحويلها صراحة إلى تعويم لإجراء العمليات الضرورية مثل الجمع والضرب وما إلى ذلك.
2. يمكن استخدام طريقة float () في لغة Python لتحويل سلسلة نصية إلى عدد عشري. إنها وظيفة مضمنة لتحويل رقم الفاصلة العائمة إلى كائن. داخليًا ، تستدعي الدالة float () وظيفة __float __ () للكائن المتوفر.