در برنامهنویسی با پایتون، گاهی لازم است متنهایی تولید کنیم که شامل متغیّرها باشند. برای مثال، تصور کنید میخواهیم نتیجه یک آزمون را برای چندین دانشآموز نمایش دهیم. به عنوان نمونه، اگر بخواهیم نمرات را برای دو دانش آموز سخت کوشمان یعنی Akbar و Asghar نمایش دهیم، باید متغیرهای نمرههای آنها در متن برنامه قرار دهیم.
پایتون چندین روش برای این کار ارائه میدهد که در این آموزش به سه روش رایج آن میپردازیم.
روش اول: ترکیب ساده متغیرها و متن
اولین روش، استفاده از ()print و عملگر + برای ترکیب متغیرها و متن است. به عنوان مثال، اگر نام دانشآموز Akbar و نمره او 19 باشد، میتوانیم این مقدار را به صورت زیر نمایش دهیم:
name = "Akbar"
score = 19
print(name + "'s score is: " + str(score))
🔹 این روش ساده است، اما اگر تعداد متغیرها زیاد شود، کد آن پیچیده و ناخوانا میشود. به همین دلیل روشهای بهتری برای انجام این کار وجود دارند.
روش دوم: استفاده از متد ()format
یک روش بهتر برای قالببندی متن، استفاده از متد ()formatاست. این روش به ما اجازه میدهد جایگاه متغیرها را در متن مشخص کنیم:
name = "Asghar"
score = 17
txt = "{}'s score is: {}".format(name, score)
print(txt)
📌 این روش خوانایی کد را بهتر میکند و تغییر متغیرها را راحتتر میسازد.
در مثال بالا به ترتیب مقدار متغیّر name در اولین آکولاد ومقدار score جایگزین دومین آکولاد خواهد شد.
همچنین، میتوانیم ترتیب متغیرها را هم تغییر داده و مشخص کنیم:
txt = "{1}'s score is: {0}".format(score, name)
print(txt)
خروجی:
Asghar's score is: 17
یا میتوانیم از نام متغیرها به صورت زیر استفاده کنیم:
txt = "{student}'s score is: {grade}".format(student=name, grade=score)
print(txt)
روش سوم: استفاده از f-string (بهترین روش)
در نسخههای جدید پایتون (3.6 به بعد)، روش f-string اضافه شده که هم خواناتر است و هم سریعتر اجرا میشود.
name = "Akbar"
score = 18
txt = f"{name}'s score is: {score}"
print(txt)
✅ این روش کوتاهتر و راحتتر از روشهای قبلی است و پیشنهاد میشود از آن استفاده کنید.
مثال: نمایش جدول ضرب با کمک f-string
حال یک مثال جالبتر ببینیم. فرض کنید میخواهیم جدول ضرب 5 را نمایش دهیم:
for i in range(1, 11):
print(f"5 × {i} = {5 * i}")
خروجی:
5 × 1 = 5
5 × 2 = 10
5 × 3 = 15
...
5 × 10 = 50
حالا برای دست گرمی، با توجّه به مثال بالا به روش زیر میتوانید جدول ضرب کلی را که در تمارین قدیمی داشتیم، با این روش، زیبا چاپ نمایید.
for i in range(1,10):
for j in range(1,10):
print( "{:3d}".format(i*j),end =" " )
print()
نتیجهگیری:
در این آموزش سه روش مختلف برای فرمتبندی متن را یاد گرفتیم. در بیشتر موارد، روش f-string بهترین گزینه است. همچنین یاد گرفتیم که چطور از این روش برای نمایش اطلاعات مختلف مثل نمرات دانشآموزان یا جدول ضرب استفاده کنیم.