آموزش پایتون - قالب‌بندی رشته

قالب‌بندی رشته (String formatting) در پایتون، فرآیند ساخت پویا برای نمایش یک رشته با جاگذاری مقدار عبارات عددی در یک رشته موجود است. عملگر الحاق رشته در پایتون، عملوند غیررشته‌ای را نمی‌پذیرد. از این رو، پایتون روش‌های قالب‌بندی رشته زیر را ارائه می‌دهد −

استفاده از عملگر %

عملگر "%" (باقیمانده تقسیم) اغلب به عنوان عملگر قالب‌بندی رشته شناخته می‌شود. این عملگر یک رشته قالب‌بندی را به همراه مجموعه‌ای از متغیرها دریافت کرده و آن‌ها را ترکیب می‌کند تا رشته‌ای حاوی مقادیر متغیرها بسازد که به روش مشخص‌شده قالب‌بندی شده‌اند.

مثال

برای درج یک رشته درون یک رشته قالب‌بندی با استفاده از عملگر "%"، از "%s" استفاده می‌کنیم؛ همان‌طور که در مثال زیر نشان داده شده است −

name = "Tutorialspoint"
print("Welcome to %s!" % name)

این کد خروجی زیر را تولید خواهد کرد −

Welcome to Tutorialspoint!

استفاده از متد format()

این یک متد توکار در کلاس str است. متد format() با تعریف نگه‌دارنده‌ها (placeholders) درون یک رشته و با استفاده از آکولاد "{}" کار می‌کند. سپس این نگه‌دارنده‌ها با مقادیر مشخص‌شده در آرگومان‌های متد جایگزین می‌شوند.

مثال

در مثال زیر، از متد format() برای درج پویا مقادیر درون یک رشته استفاده می‌کنیم.

str = "Welcome to {}"
print(str.format("Tutorialspoint"))

با اجرای کد بالا، خروجی زیر تولید می‌شود −

Welcome to Tutorialspoint

استفاده از f-string

رشته‌های f-string که به عنوان رشته‌های متنی قالب‌بندی‌شده (formatted string literals) نیز شناخته می‌شوند، برای قرار دادن عبارات در داخل رشته‌ها به کار می‌روند. حرف "f" در f-string مخفف formatted است و قرار دادن آن در ابتدای رشته‌ها، یک f-string ایجاد می‌کند. آکولادهای "{}" درون رشته، نقش نگه‌دارنده‌هایی را ایفا می‌کنند که با متغیرها، عبارات یا فراخوانی‌های توابع پر می‌شوند.

مثال

مثال زیر نحوه کارکرد f-stringها را همراه با عبارات نشان می‌دهد.

item1_price = 2500
item2_price = 300
total = f'Total: {item1_price + item2_price}'
print(total)

خروجی کد بالا به صورت زیر است −

Total: 2800

استفاده از کلاس String Template

کلاس String Template متعلق به ماژول string است و روشی را برای قالب‌بندی رشته‌ها با استفاده از نگه‌دارنده‌ها فراهم می‌کند. در اینجا، نگه‌دارنده‌ها با علامت دلار ($) و در ادامه یک شناسه تعریف می‌شوند.

مثال

مثال زیر نحوه استفاده از کلاس Template برای قالب‌بندی رشته‌ها را نشان می‌دهد.

from string import Template

# Defining template string
str = "Hello and Welcome to $name !"

# Creating Template object
templateObj = Template(str)

# now provide values
new_str = templateObj.substitute(name="Tutorialspoint")
print(new_str)

این کد خروجی زیر را تولید خواهد کرد −

Hello and Welcome to Tutorialspoint !

پیشرفت مطالعه: وضعیت خوانده‌شدن این درس فقط در همین مرورگر ذخیره می‌شود؛ بدون نیاز به حساب کاربری.