كتابة سلاسل طويلة من النص على أسطر متعددة في بايثون

اعمال

إذا كنت تستخدم مدقق رمز متوافق مع PEP8 مثل flake8 في Python ، فستتلقى الخطأ التالي عندما يتجاوز السطر 80 حرفًا.
E501 line too long

سأوضح لك كيفية تقسيم سلسلة طويلة من أكثر من 80 حرفًا ، مثل عنوان URL ، إلى أسطر متعددة من التعليمات البرمجية.

  • تجاهل فواصل الأسطر باستخدام خطوط مائلة للخلف (\)
  • يمكن وضع فواصل الأسطر بحرية بين أقواس

أيضًا ، تكون وحدة التفاف النص مفيدة إذا كنت تريد إخراج سلاسل طويلة وعرضها عن طريق لفها أو اختصارها.

إذا كان عدد الأحرف في السطر أطول في سلسلة الطريقة منه في سلسلة طويلة ، فيمكن كسر السطر في الكود أيضًا.

تجاهل فواصل الأسطر باستخدام خطوط مائلة للخلف (\)

في Python ، الخط المائل العكسي (\) هو حرف استمرار ، وعندما يتم وضعه في نهاية السطر ، فإنه يتجاهل فواصل الأسطر اللاحقة ويفترض أن السطر مستمر.

n = 1 + 2 \
    + 3

print(n)
# 6

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

s = 'aaa' 'bbb'

print(s)
# aaabbb

من خلال الجمع بين الاثنين ، يمكن كتابة سلسلة طويلة في عدة أسطر من التعليمات البرمجية ، كما هو موضح أدناه.

s = 'https://ja.wikipedia.org/wiki/'\
    '%E3%83%97%E3%83%AD%E3%82%B0%E3%83'\
    '%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E'

print(s)
# https://ja.wikipedia.org/wiki/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E

لاحظ أن السلاسل الحرفية فقط (المضمنة في “أو”) يمكن أن تكون متسلسلة ، والمتغيرات التي تحتوي على سلاسل ستؤدي إلى خطأ.

s_var = 'xxx'

# s = 'aaa' s_var 'bbb'
# SyntaxError: invalid syntax

لربط المتغيرات ببعضها البعض أو المتغيرات إلى سلسلة حرفية ، استخدم عامل التشغيل +.

s = 'aaa' + s_var + 'bbb'

print(s)
# aaaxxxbbb

حتى عند الفصل بشرطة مائلة للخلف (\) ، فإن العامل + مطلوب لسلسلة المتغيرات.

s = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'\
    + s_var\
    + 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'

print(s)
# aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb

يمكن وضع فواصل الأسطر بحرية بين أقواس

في Python ، يمكنك تقسيم الأسطر بحرية بين الأقواس التالية. يمكنك استخدام هذه القاعدة لإحاطة السلاسل الطويلة من النص بين أقواس.

  • ()
  • {}
  • []

لاحظ أنه يتم استخدام بعض الأقواس بطرق أخرى ، كما هو موضح أدناه ، لذلك استخدم الأقواس المستديرة () لهذا الاستخدام.

  • {}مجموعة: جلس
  • []: قائمة

مرة أخرى ، باستخدام حقيقة أنه يمكن ربط عدة سلاسل معًا لتكوين سلسلة واحدة ، يمكننا كتابة ما يلي

s = ('https://ja.wikipedia.org/wiki/'
     '%E3%83%97%E3%83%AD%E3%82%B0%E3%83'
     '%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E')

print(s)
# https://ja.wikipedia.org/wiki/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E

كما في المثال مع الشرطة المائلة للخلف ، فإن العامل + مطلوب عند تضمين المتغيرات.

s = ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
     + s_var
     + 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb')

print(s)
# aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
Copied title and URL