سطح مقدماتی (Beginner Level)
در نسخههای قدیمی پایتون، برای ترکیب متغیرها با متن از % یا متد .format() استفاده میشد که اغلب خوانایی کمی داشتند. از نسخه 3.6 به بعد، f-strings معرفی شد که روشی سریعتر، خواناتر و مستقیمتر برای فرمتدهی رشتهها است.
ساختار پایه (Basic Syntax)
برای استفاده از f-string، کافی است قبل از کوتیشنهای رشته، حرف f یا F را قرار دهید. سپس میتوانید متغیرها را مستقیماً داخل آکولاد {} بنویسید.
مثال اول: جایگذاری ساده متغیر
در این مثال میبینیم که چگونه مقادیر متغیرها مستقیماً درون متن قرار میگیرند.
مثال دوم: استفاده از عبارات محاسباتی
شما محدود به نام متغیرها نیستید؛ میتوانید عملیات ریاضی یا فراخوانی توابع را نیز مستقیماً داخل {} انجام دهید.
فراخوانی توابع و متدها
میتوانید متدهای رشتهای یا توابع تعریف شده توسط خودتان را مستقیماً درون f-string صدا بزنید.
مثال اول: متدهای رشته
مثال دوم: فراخوانی تابع
سطح پیشرفته (Professional Level)
در سطح حرفهای، f-strings ابزارهای قدرتمندی برای فرمتدهی دقیق اعداد، تراز کردن متنها، کار با تاریخ و حتی دیباگ کردن کد در اختیار ما قرار میدهند.
فرمتدهی اعداد (Number Formatting)
با استفاده از کالن : بعد از نام متغیر، میتوان نحوه نمایش اعداد (تعداد اعشار، جداکننده هزارگان و...) را کنترل کرد.
مثال اول: کنترل تعداد اعشار و درصد
مثال دوم: جداکننده هزارگان و پدینگ (Padding)
تراز کردن متن (Text Alignment)
میتوانید متن را در یک فضای مشخص تراز کنید. این قابلیت برای ساخت جدولهای متنی در کنسول بسیار مفید است.
<: چپچین>: راستچین^: وسطچین
مثال اول: جدولبندی ساده
دیباگ سریع (Self-documenting Expressions)
یک ویژگی بسیار کاربردی در پایتون 3.8+ اضافه شد که با گذاشتن علامت مساوی = بعد از نام متغیر در f-string، هم نام متغیر و هم مقدار آن چاپ میشود. این جایگزین عالی برای print("x =", x) است.
مثال اول: دیباگ متغیرها
مثال دوم: دیباگ عملیات
کار با تاریخ و زمان (DateTime Formatting)
به جای اینکه تاریخ را قبل از چاپ فرمتدهی کنید، میتوانید فرمت strftime را مستقیماً داخل f-string استفاده کنید.

مثال اول: فرمتدهی تاریخ
نکات فنی و Edge Caseها
- آکولادها: اگر بخواهید خود علامت
{یا}را چاپ کنید، باید آنها را دوبار تکرار کنید:{{و}}. - Backslash: نمیتوانید از
\مستقیماً داخل بخش Expression یک f-string استفاده کنید.
مثال: چاپ آکولاد و محدودیت Backslash
# Static Example (Syntax Rules)
# چاپ آکولاد واقعی
val = 10
print(f"The value is {{{val}}}") # Output: The value is {10}
# غلط (SyntaxError):
# print(f"New line: {val \n}")
# صحیح:
newline = "\n"
print(f"New line: {val}{newline}")