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

اعمال

إذا كنت تستخدم مدقق رمز متوافق مع 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://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://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 ، يمكنك تقسيم الأسطر بحرية بين الأقواس التالية. يمكنك استخدام هذه القاعدة لإحاطة السلاسل الطويلة من النص بين أقواس.

  • ()
  • {}
  • []

لاحظ أن الأقواس التالية لها معنى.

  • {} = set
  • [] = list

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

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

s = ('https://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://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