نوشتن رشته های طولانی متن در چند خط در پایتون

کسب و کار

اگر از جستجوگر کد سازگار با PEP8 مانند flake8 در پایتون استفاده کنید، زمانی که یک خط از 80 کاراکتر بیشتر شود، خطای زیر را دریافت خواهید کرد.
E501 line too long

من به شما نشان خواهم داد که چگونه یک رشته طولانی بیش از 80 کاراکتر، مانند یک URL، را به چندین خط کد بشکنید.

  • نادیده گرفتن شکست خط با اسلش معکوس (\)
  • خطوط شکسته را می توان آزادانه در داخل پرانتز قرار داد

همچنین، اگر می‌خواهید رشته‌های بلند را با بسته‌بندی یا مخفف کردن آنها خروجی بگیرید و نمایش دهید، ماژول textwrap مفید است.

اگر تعداد کاراکترهای یک خط در یک زنجیره متد طولانی‌تر از یک رشته طولانی باشد، می‌توان خط را در کد نیز شکست.

نادیده گرفتن شکست خط با اسلش معکوس (\)

در پایتون، بک اسلش (\) یک کاراکتر ادامه است و هنگامی که در انتهای یک خط قرار می گیرد، شکست های بعدی خط را نادیده می گیرد و خط را ادامه می دهد.

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

برای الحاق متغیرها به یکدیگر یا متغیرها به رشته های literal، از عملگر + استفاده کنید.

s = 'aaa' + s_var + 'bbb'

print(s)
# aaaxxxbbb

حتی زمانی که با یک بک اسلش (\) از هم جدا شوند، عملگر + برای به هم پیوستن متغیرها لازم است.

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

print(s)
# aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb

خطوط شکسته را می توان آزادانه در داخل پرانتز قرار داد

در پایتون، می توانید آزادانه خطوط درون پرانتز زیر را بشکنید. می توانید از این قانون برای قرار دادن رشته های طولانی متن در پرانتز استفاده کنید.

  • ()
  • {}
  • []

توجه داشته باشید که برخی از پرانتزها به روش های دیگری مانند شکل زیر استفاده می شوند، بنابراین از براکت های گرد () برای چنین استفاده ای استفاده کنید.

  • {}تنظیم: تنظیم
  • []: فهرست

مجدداً با استفاده از این واقعیت که چندین رشته را می توان به یکدیگر متصل کرد و یک رشته واحد را تشکیل داد، می توانیم موارد زیر را بنویسیم.

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