"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > ما هي أفضل طريقة لتنسيق السلسلة في Python: % أو .format أو f-strings؟

ما هي أفضل طريقة لتنسيق السلسلة في Python: % أو .format أو f-strings؟

تم النشر بتاريخ 2024-12-25
تصفح:625

What's the Best String Formatting Method in Python: %, .format, or f-strings?

تنسيق السلسلة: مقارنة بين٪ و.format وF-String Literals

يعد تنسيق السلسلة ضروريًا لتوليد معلومات مفيدة للمستخدم رسائل ودية في بايثون. توجد طرق متعددة لتحقيق ذلك: تنسيق %، وأسلوب .format، والحرف f-string. كل طريقة لها مزاياها وعيوبها، مما يجعل من الضروري اختيار الطريقة الأكثر ملاءمة للموقف.

الاختلافات بين التنسيق٪، .format، وF-String Literals

يوضح التعليمة البرمجية التالية استخدام طرق التنسيق هذه مع نتائج مكافئة:

name = "Alice"

"Hello %s" % name  # % formatting
"Hello {}".format(name)  # .format method
f"Hello {name}"  # f-string literal

على الرغم من أن النتائج هي نفسها، إلا أن هناك اختلافات طفيفة بين هذه الطرق. يمكن لتنسيق % التعامل مع الصف كوسيطات، ولكنه يتطلب إنشاءًا صريحًا لمجموعة مكونة من عنصر واحد للقيم الفردية. يوفر .format بناء جملة أكثر وضوحًا، خاصة عند الحاجة إلى وسائط متعددة مسماة. توفر حرفية F-string بناء الجملة الأكثر أناقة، مع التعبيرات المضمنة مباشرة داخل الأقواس المتعرجة.

الآثار المترتبة على أداء وقت التشغيل

يتضمن تنسيق السلسلة تقييم التعبيرات أثناء تنفيذ التعليمات البرمجية . يمكن أن يؤدي هذا إلى فرض عقوبة على الأداء في وقت التشغيل، خاصة في المواقف التي يتم فيها تنفيذ تنسيق السلسلة داخل الحلقات أو في الأقسام الحرجة للوقت. للتخفيف من ذلك، فكر في استخدام العناصر النائبة بالتزامن مع أساليب str.format أو f-string خارج الحلقات أو الأقسام المهمة.

template = "some debug info: {}" # تعريف القالب خارج الحلقة للعنصر الموجود في some_list: log.debug(template.format(item)) # التنسيق الفعال داخل الحلقة
template = "some debug info: {}"  # Define the template outside the loop

for item in some_list:
    log.debug(template.format(item))  # Efficient formatting within the loop
باختصار، توفر .format وf-string literals مزايا أكثر من تنسيق % من حيث بناء الجملة والمرونة وتحسين الأداء. اختر الطريقة المناسبة بناءً على الميزات التي تحتاجها وسياق التطبيق الخاص بك. إذا لم يكن التوافق مع الإصدارات السابقة مع Python 2.5 مصدر قلق، ففكر في استخدام تنسيق .format أو f-string لإمكانياتها المتقدمة وأدائها الأمثل.

أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3