Python - Format - Strings

قالب‌بندی رشته‌ها

چنانکه در بخش متغیرهای پایتون یاد گرفتیم، نمی‌توانیم اعداد و رشته‌ها را به شکل زیر با هم ترکیب کنیم.


age = 36
txt = "My name is John, I am " + age
print(txt)

خروجی:

اما با استفاده از تابع شیء format() می‌توانیم رشته‌ها و اعداد را با هم ترکیب کنیم.

تابع شیء format() آرگومان‌های داده شده به آن را قالب‌بندی می‌کند و آن‌ها را در رشته مورد نظر در مکانی که نگه دارنده مکان {} قرار دارد، قرار می‌دهد. برای نمونه در مثال زیر عدد را با یک رشته ترکیب می‌کنیم.


age = 36
txt = "My name is John, and I am {}"
print(txt.format(age))

خروجی:

تابع شیء format() می‌تواند تعداد نامحدودی از آرگومان‌ها را قبول کند و آن‌ها را به ترتیب در محل نگه‌دارنده خود قرار دهد.


quantity = 3
itemno = 567
price = 49.95
myorder = "I want {} pieces of item {} for {} dollars."
print(myorder.format(quantity, itemno, price))

خروجی:

البته اگر می‌خواهید از قرارگیری آرگومان‌ها در سر جای درست خود اطمینان حاصل کنید، می‌توانید به صورت زیر از اعداد ایندکس استفاده کنید.


quantity = 3
itemno = 567
price = 49.95
myorder = "I want to pay {2} dollars for {0} pieces of item {1}."
print(myorder.format(quantity, itemno, price))

خروجی:

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

f-strings یک راه جدید و بهبود یافته برای قالب‌بندی رشته‌ها است که از پایتون نسخه ۳.۶ معرفی شد. f-strings رشته‌هایی هستند که در ابتدای آن‌ها حرف f و داخل آن‌ها آکولاد وجود داشته باشد. آکولادها با مقادیر مربوطه پر می‌شوند.

نوشتار آن شبیه به str.format() است با این تفاوت که ساده‌تر و خواناتر می‌باشد.


quantity = 3
itemno = 567
price = 49.95
myorder = "I want {quantity} pieces of item {itemno} for {price} dollars."
print(myorder)

خروجی: