Python String Formatting

در پایتون، String Formatting (قالب‌بندی رشته‌ها) به شما امکان می‌دهد متغیرها و مقادیر مختلف را داخل رشته‌ها قرار دهید و خروجی خواناتر و منظم‌تری بسازید.
سه روش اصلی برای قالب‌بندی رشته‌ها وجود دارد.

🔹 1️⃣ استفاده از عملگر % (قدیمی)

name = "Ali" age = 25 print("نام: %s، سن: %d" % (name, age))

📌 خروجی:

نام: Ali، سن: 25
  • %s → رشته

  • %d → عدد صحیح

  • %f → عدد اعشاری

  • %.2f → عدد اعشاری با دو رقم بعد از ممیز

pi = 3.14159 print("π = %.2f" % pi) # π = 3.14

🔹 2️⃣ متد ()str.format

name = "Sara" age = 22 print("نام: {}، سن: {}".format(name, age)) print("سن {}، نام {}".format(age, name)) # ترتیب متفاوت
  • می‌توان از ایندکس‌ها یا نام‌ها هم استفاده کرد:

print("نام: {n}، سن: {a}".format(n=name, a=age))

🔹 3️⃣ f-string (پیشنهاد شده، پایتون 3.6+)

name = "Reza" age = 30 print(f"نام: {name}، سن: {age}")
  • داخل {} می‌توان عبارات و محاسبات هم گذاشت:

print(f"سال تولد: {2025 - age}")

🔹 قالب‌بندی اعداد

عدد اعشاری با تعداد مشخص رقم پس از ممیز

pi = 3.14159 print(f"π = {pi:.2f}") # π = 3.14

پر کردن فضا و تراز کردن

num = 7 print(f"{num:05}") # 00007 → پر کردن با صفر print(f"{num:<5}") # 7 → تراز چپ print(f"{num:>5}") # 7 → تراز راست

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

name = "Ali" print(f"{name:*^10}") # ***Ali**** → وسط چین با * و طول 10

🔹 تمرین‌های پیشنهادی

  1. نام و سن چند نفر را با f-string چاپ کن به‌صورتی که ستون‌ها مرتب باشند.

  2. قیمت یک محصول را با دو رقم اعشار و تراز راست چاپ کن.

  3. تاریخ و ساعت فعلی را با قالب YYYY/MM/DD HH:MM:SS نمایش بده.

✅ خلاصه

  • % formatting → روش قدیمی با %s, %d, %f

  • ()str.format → انعطاف بیشتر و قابل استفاده با نام و اندیس

  • f-string → سریع، خوانا و امکان درج محاسبات و عبارات داخل {}

  • برای اعداد و رشته‌ها می‌توان تراز، طول و دقت اعشار مشخص کرد.