Python تنسيق السلسلة () اشرح بالأمثلة
ما هي تفاصيل Python تنسيق السلسلة ()؟
Python تنسيق السلسلة () هي دالة تُستخدم لاستبدال السلسلة أو استبدالها أو تحويلها بعناصر نائبة ذات قيم صالحة في السلسلة النهائية. إنها وظيفة مدمجة في Python فئة السلسلة، والتي تقوم بإرجاع السلسلة المنسقة كمخرجات. يتم تعريف العناصر النائبة داخل السلسلة بين قوسين متعرجين.
على سبيل المثال، "مرحبًا بك في Guru99 {}".format('القيمة هنا').
بناء جملة الدالة format() في Python
templatestring.format(val1, val2...)
المعاملات
فال1 ، فال2 … : القيم التي تحتاج إلى الاستبدال في سلسلة القالب المحددة التي تحتوي على عناصر نائبة في شكل أقواس متعرجة {}. يمكن أن تكون العناصر النائبة عبارة عن سلسلة أو زوج مفتاح/قيمة أو أعداد صحيحة أو أرقام فاصلة عائمة أو أحرف وما إلى ذلك.
قيمة الإرجاع
سوف يقوم بإرجاع السلسلة النهائية، مع استبدال القيم الصالحة في مكان العناصر النائبة الواردة بين قوسين متعرجين.
العناصر النائبة
يتم تمثيل العناصر النائبة في سلسلة القالب باستخدام أقواس متعرجة، على سبيل المثال {}. يمكن أن يكون العنصر النائب فارغًا {}، أو يمكن أن يحتوي على متغير مثل {name}، أو يمكن أن يحتوي على مؤشر رقمي مثل {0}، {1} وما إلى ذلك.
كيف يعمل تنسيق السلسلة ()؟
أكثر من Python تنسيق السلسلة () ستقوم الطريقة بمسح السلاسل الأصلية بحثًا عن العناصر النائبة. يمكن أن تكون العناصر النائبة عبارة عن أقواس متعرجة فارغة ({})، أو وسيطات موضعية، أي يمكن أن تحتوي السلسلة على عناصر نائبة بفهرس 0، 1 مثل {0}، {1} وما إلى ذلك.
بالنسبة لحجج الكلمات الأساسية، سيكون اسم المتغير موجودًا داخل الأقواس المتعرجة مثل {name} و{age}. في حالة الأقواس المتعرجة الفارغة، سيتم استبدال القيم من التنسيق داخل الأقواس المتعرجة بالترتيب.
سيتم استبدال القيمة الأولى بالقوس المتعرج الفارغ الأول، متبوعًا بالقيمة التالية. بالنسبة للوسائط الموضعية، سيبدأ الفهرس من 0 وهكذا. ستكون القيم متاحة بتنسيق مفصول بفواصل و0th ستشير القيمة إلى القيمة الأولى داخل التنسيق وهكذا.
بالنسبة لوسيطات الكلمات الرئيسية، على سبيل المثال، عند استخدام متغير داخل العناصر النائبة، يمكنك الحصول على ترتيب القيم داخل التنسيق حسب حاجتك.
لا يهم الترتيب هنا حيث سيتم استبدال القيم بناءً على اسم المتغير الموجود في التنسيق (). فيما يلي بعض الأمثلة حول كيفية استخدام العناصر النائبة داخل سلسلة باعتبارها فارغة وموضعية وتستخدم كلمات أساسية أو متغيرات.
مثال: تم استبدال العنصر النائب الفارغ بقيمة سلسلة
في المثال أدناه، تحتوي السلسلة على أقواس متعرجة فارغة ({}). سيتم استبدال القيمة المعطاة للتنسيق داخل الأقواس المتعرجة ({}).
القيمة التي نريد استبدالها هي سلسلة.
على سبيل المثال:
استخدام تنسيق السلسلة في Pythonنريد استبدال الأقواس المتعرجة ({}) بقيمة سلسلة نصية. يتم إعطاء القيمة إلى format("Guru99"). عند التنفيذ، يتم استبدال الأقواس المتعرجة {} بـ Guru99، وستحصل على السلسلة النهائية كما هو موضح في دروس Welcome to Guru99.
print ("Welcome to {} tutorials".format("Guru99"))
الإخراج:
Welcome to Guru99 tutorials
مثال: تم استبدال العنصر النائب الفارغ بقيمة رقمية
في المثال أدناه، نريد استبدال القيمة الرقمية داخل السلسلة الأصلية. تتم إضافة الأقواس المتعرجة ({}) إلى المكان الذي تحتاج فيه إلى القيمة الرقمية. عند تنفيذه، يتم استبدال الأقواس المتعرجة الفارغة ({}) بالقيمة الرقمية.
على سبيل المثال:
يمكنك أيضًا استخدام format() لإدراج أرقام داخل السلسلة. سيوضح المثال كيفية استبدال العنصر النائب الفارغ {} بالرقم 99 الموجود داخل format().
print ("Welcome to Guru{} Tutorials".format("99"))
الإخراج:
Welcome to Guru99 Tutorials
مثال: استخدام وسيطات المتغير أو الكلمات الرئيسية داخل العنصر النائب
من الممكن أيضًا الاستفادة من المتغيرات الموجودة داخل الأقواس المتعرجة، كما هو موضح في المثال أدناه. يتم تعريف المتغيرات داخل format(). لذلك، عند تنفيذه، يتم استبدال القيمة المعينة للمتغير داخل السلسلة الأصلية.
على سبيل المثال:
يمكنك استخدام المتغيرات داخل الأقواس المتعرجة على سبيل المثال {name} {num}. تتوفر قيم المتغيرين name وnum داخل التنسيق أي format(name=”Guru”، num=”99″). سيتم استبدال القيم المعطاة لـ name وnum داخل {name} و{num}.
print ("Welcome to {name}{num} Tutorials".format(name="Guru", num="99"))
الإخراج:
Welcome to Guru99 Tutorials
مثال: استخدام الفهرس أو الوسيطات الموضعية داخل العنصر النائب
يمكن استبدال القيم باستخدام فهارس مثل 0، 1، 2 داخل العناصر النائبة. سيتم اختيار القيمة بالترتيب من format()، كما هو موضح في المثال أدناه.
على سبيل المثال:
print ("Welcome to {0}{1} Tutorials".format("Guru","99"))
الإخراج:
Welcome to Guru99 Tutorials
مثال: استخدام عناصر نائبة متعددة داخل سلسلة
في هذا المثال، سنستخدم عدة عناصر نائبة فارغة.
على سبيل المثال:
تحتوي السلسلة المستخدمة في المثال على عدة عناصر نائبة فارغة وسيشير كل عنصر نائب إلى قيمة داخل format(). سيتم استبدال القيمة الأولى بالعنصر النائب الأول وهكذا.
print ("{} is {} new kind of {} experience!".format("Guru99", "totally","learning"))
الإخراج:
Guru99 is totally new kind of learning experience!
التنسيق داخل العناصر النائبة
لقد رأيت أنه من الممكن أن يكون العنصر النائب فارغًا، مع متغير أو فهرس. ومن الممكن أيضًا أن تتمكن من التقديم Python تنسيق السلسلة داخل العنصر النائب.
هنا قائمة التنسيقات
| شكل | الوصف | مثال |
|---|---|---|
:d |
سيعطي الإخراج بتنسيق عشري عند استخدامه داخل العنصر النائب | print("The binary to decimal value is : {:d}".format(0b0011))
الإخراج: The binary to decimal value is : 3 |
:b |
سيعطي الإخراج بتنسيق ثنائي عند استخدامه داخل العنصر النائب | print("The binary value is : {:b}".format(500))
الإخراج: The binary value is : 111110100 |
:e |
سيعطي الإخراج بتنسيق علمي عند استخدامه داخل العنصر النائب، وسيكون الأس e في الإخراج صغيرًا. | print("The scientific value is : {:e}".format(40))
الإخراج: The scientific format value is : 4.000000e+01 |
:E |
سيعطي الإخراج بتنسيق علمي عند استخدامه داخل العنصر النائب، وسيكون الأس E في الإخراج كبيرًا | print("The scientific value is : {:E}".format(40))
الإخراج: The scientific value is : 4.000000E+01 |
:f |
سيؤدي هذا إلى إخراج تنسيق رقم النقطة الثابتة. بشكل افتراضي، سوف تحصل على ناتج أي رقم بستة منازل عشرية. في حالة احتياجك إلى ما يصل إلى منزلتين عشريتين، استخدمه ك. 2f أي. نقطة (.) أمام 2و | print("The value is : {:f}".format(40))
الإخراج: The value is : 40.000000 مثال: عرض الناتج حتى 2 منزلتين عشريتين.
الإخراج: The value is: 40.00 |
:o |
سيؤدي هذا إلى إخراج التنسيق الثماني | print("The value is : {:o}".format(500))
الإخراج: The value is : 764 |
:x |
سيؤدي هذا إلى إخراج التنسيق السداسي بأحرف صغيرة | print("The value is : {:x}".format(500))
الإخراج: The value is : 1f4 |
:X |
سيؤدي هذا إلى إخراج التنسيق السداسي بأحرف كبيرة. | print("The value is : {:X}".format(500))
الإخراج: The value is : 1F4 |
:n |
سيؤدي هذا إلى إخراج تنسيق الأرقام. | print("The value is : {:n}".format(500.00))
الإخراج: The value is : 500 |
:% |
سيعطي هذا الإخراج بتنسيق النسبة المئوية. افتراضيًا، سيعطي 6 منازل عشرية لنسبة الإخراج، وفي حالة عدم رغبتك في استخدام أي قيمة عشرية، يمكنك استخدام النقطة مع 0، أي (:.0%). |
print("The value is : {:%}".format(0.80))
الإخراج: The value is : 80.000000% يوضح هذا المثال كيفية تخطي المنازل العشرية باستخدام {:.0%} داخل العنصر النائب.
The value is: 80% |
:_ |
سيؤدي هذا إلى إخراج الشرطة السفلية كفاصل ألف. وهو متوفر من بيثون 3.6+. | print("The value is {:_}".format(1000000))
الإخراج: The value is : 1_000_000 |
:, |
سيؤدي هذا إلى إخراج الفاصلة كفاصل الآلاف | print("The value is : {:,}".format(1000000))
الإخراج: The value is : 1,000,000 تتم إضافة الفاصلة (،) كفاصل ألف كما هو موضح في الإخراج. |
: |
سيؤدي هذا إلى إضافة مسافة قبل أي أرقام موجبة | يوضح هذا المثال كيفية إضافة مسافة أو مساحة متروكة قبل الرقم المحدد. يشير الرقم 5 إلى عدد المسافة التي تريدها قبل الرقم.
الإخراج: The value is: 40 |
:- |
سيؤدي هذا إلى إضافة علامة ناقص قبل الأرقام السالبة | يوضح المثال كيفية الحصول على الإخراج بعلامة الطرح (-) قبل الرقم باستخدام {:-}.
الإخراج: The value is: -40 |
:+ |
يمكنك استخدام علامة الجمع للإشارة إلى أن الرقم موجب | يوضح المثال كيفية الحصول على الإخراج بعلامة الجمع (+) قبل الرقم باستخدام {:+}.
الإخراج: The value is: +40 |
:= |
يتم استخدام يساوي لوضع علامة +/- على الجانب الأيسر. | يوضح المثال كيفية الحصول على الإخراج بعلامة الجمع (+/-) قبل أن يساوي التوقيع باستخدام {:=}.
الإخراج: The value is -40 |
:^ |
سيؤدي هذا إلى محاذاة النتيجة النهائية | يوضح المثال استخدام {:^} لمحاذاة النص إلى المنتصف. يتم استخدام الرقم 10 لإضافة 10 مسافات لإظهار المحاذاة للوسط عند استبدال القيمة.
الإخراج: The value 40 is a positive value هنا، يمكنك استخدام 10 الذي سيضيف 10 مسافات في النص النهائي، وسيتم محاذاة القيمة المراد استبدالها إلى المنتصف بين المسافات العشرة. تتم إضافة مسافات 10 فقط لإظهار المحاذاة المركزية للقيمة المستبدلة. |
:> |
سيؤدي هذا إلى محاذاة النتيجة النهائية إلى اليمين | تتم إضافة مسافة 10 باستخدام (:>10)، وتكون القيمة المستبدلة محاذاة إلى اليمين.
الإخراج: The value 40 is positive value |
:< |
وهذا سوف يترك محاذاة النتيجة النهائية | تتم إضافة مسافة 10 باستخدام (:<10)، ويتم محاذاة القيمة المستبدلة إلى اليسار.
الإخراج: The value 40 is positive value |
استخدام فئة مع تنسيق ()
في هذا المثال، نقوم بإنشاء فئة ونستخدم كائن الفئة داخل التنسيق Python طريقة. ستشير العناصر النائبة إلى خصائص الفئة أو الأعضاء الذين يستخدمون كائن الفئة.
على سبيل المثال:
يتم استدعاء الفئة داخل التنسيق (c=MyClass()). سيكون للكائن c مرجع إلى الخصائص والأساليب الموجودة داخل الفئة MyClass().
class MyClass:
msg1="Guru"
msg2="Tutorials"
print("Welcome to {c.msg1}99 {c.msg2}!".format(c=MyClass()))
الإخراج:
Welcome to Guru99 Tutorials!
استخدام القاموس مع التنسيق ()
من الممكن أيضًا الاستفادة من القاموس داخل التنسيق () كما هو موضح في المثال أدناه:
my_dict = {'msg1': "Welcome", 'msg2': 'Guru99'}
print("{m[msg1]} to {m[msg2]} Tutorials!".format(m=my_dict))
الإخراج:
Welcome to Guru99 Tutorials!
الحشو بدائل متغيرة
باستخدام طريقة string.format()، يمكنك إضافة مساحة حشو ومساحة باستخدام العناصر النائبة داخل السلسلة الخاصة بك.
على سبيل المثال:
في المثال أدناه، سيتم إضافة مسافة داخل العنصر النائب باستخدام format(). لإضافة مسافة، يجب عليك تحديد عدد المسافات داخل الأقواس المتعرجة بعد النقطتين (:). لذا سيبدو العنصر النائب على هذا النحو {:5}.
print("I have {:5} dogs and {:5} cat".format(2,1))
الإخراج:
I have 2 dogs and 1 cat
يمكنك أيضًا إعطاء الفهرس داخل العنصر النائب على سبيل المثال: {0:5} حيث يشير 0 إلى القيمة الأولى داخل التنسيق.
print("I have {0:5} dogs and {1:5} cat".format(2,1))
الإخراج:
I have 2 dogs and 1 cat
ملخص
- Python تمنحنا فئة السلسلة أمرًا مدمجًا مهمًا يسمى format() والذي يساعدنا على استبدال السلسلة أو استبدالها أو تحويلها بعناصر نائبة ذات قيم صالحة في السلسلة النهائية.
- العناصر النائبة داخل وحدة السلسلة Python يتم تعريفها بين قوسين متعرجين، على سبيل المثال، "مرحبًا بك في Guru99 {}".format('القيمة هنا').
- يمكن أن يكون العنصر النائب فارغًا {}، أو يمكن أن يحتوي على متغير مثل {name}، أو يمكن أن يحتوي على فهرس أرقام، على سبيل المثال {0}، {1} وما إلى ذلك.
- يمكنك الاستفادة من تنسيق السلسلة في Python داخل العناصر النائبة التي يمكن أن تساعد في إضافة المساحة المتروكة ومحاذاة الوسط والمساعدة أيضًا في تنسيق الأرقام.
