خانه / آموزش‌ها / آموزش جامع F-Strings در پایتون

آموزش جامع F-Strings در پایتون

🐍 HomeOfPython
|
📅 1404/10/20

سطح مقدماتی (Beginner Level)

در نسخه‌های قدیمی پایتون، برای ترکیب متغیرها با متن از % یا متد .format() استفاده می‌شد که اغلب خوانایی کمی داشتند. از نسخه 3.6 به بعد، f-strings معرفی شد که روشی سریع‌تر، خواناتر و مستقیم‌تر برای فرمت‌دهی رشته‌ها است.

ساختار پایه (Basic Syntax)

برای استفاده از f-string، کافی است قبل از کوتیشن‌های رشته، حرف f یا F را قرار دهید. سپس می‌توانید متغیرها را مستقیماً داخل آکولاد {} بنویسید.

مثال اول: جایگذاری ساده متغیر

در این مثال می‌بینیم که چگونه مقادیر متغیرها مستقیماً درون متن قرار می‌گیرند.

Python

مثال دوم: استفاده از عبارات محاسباتی

شما محدود به نام متغیرها نیستید؛ می‌توانید عملیات ریاضی یا فراخوانی توابع را نیز مستقیماً داخل {} انجام دهید.

Python

فراخوانی توابع و متدها

می‌توانید متدهای رشته‌ای یا توابع تعریف شده توسط خودتان را مستقیماً درون f-string صدا بزنید.

مثال اول: متدهای رشته

Python

مثال دوم: فراخوانی تابع

Python

سطح پیشرفته (Professional Level)

در سطح حرفه‌ای، f-strings ابزارهای قدرتمندی برای فرمت‌دهی دقیق اعداد، تراز کردن متن‌ها، کار با تاریخ و حتی دیباگ کردن کد در اختیار ما قرار می‌دهند.

فرمت‌دهی اعداد (Number Formatting)

با استفاده از کالن : بعد از نام متغیر، می‌توان نحوه نمایش اعداد (تعداد اعشار، جداکننده هزارگان و...) را کنترل کرد.

مثال اول: کنترل تعداد اعشار و درصد

Python

مثال دوم: جداکننده هزارگان و پدینگ (Padding)

Python

تراز کردن متن (Text Alignment)

می‌توانید متن را در یک فضای مشخص تراز کنید. این قابلیت برای ساخت جدول‌های متنی در کنسول بسیار مفید است.

  • < : چپ‌چین
  • > : راست‌چین
  • ^ : وسط‌چین

مثال اول: جدول‌بندی ساده

Python

دیباگ سریع (Self-documenting Expressions)

یک ویژگی بسیار کاربردی در پایتون 3.8+ اضافه شد که با گذاشتن علامت مساوی = بعد از نام متغیر در f-string، هم نام متغیر و هم مقدار آن چاپ می‌شود. این جایگزین عالی برای print("x =", x) است.

مثال اول: دیباگ متغیرها

Python

مثال دوم: دیباگ عملیات

Python

کار با تاریخ و زمان (DateTime Formatting)

به جای اینکه تاریخ را قبل از چاپ فرمت‌دهی کنید، می‌توانید فرمت strftime را مستقیماً داخل f-string استفاده کنید.

نمودار فرمت‌دهی تاریخ

مثال اول: فرمت‌دهی تاریخ

Python

نکات فنی و Edge Caseها

  1. آکولادها: اگر بخواهید خود علامت { یا } را چاپ کنید، باید آن‌ها را دوبار تکرار کنید: {{ و }}.
  2. Backslash: نمی‌توانید از \ مستقیماً داخل بخش Expression یک f-string استفاده کنید.

مثال: چاپ آکولاد و محدودیت Backslash

python
# 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}")