پرسش

استفاده از قالب‌بندی رشته با %، format، یا f-string در پایتون: کدام یک بهتر است؟

String formatting: % vs. .format vs. f-string literal

وقتی می‌خوام رشته‌ها رو در پایتون قالب‌بندی کنم، بهتره از کدوم روش استفاده کنم؟ از %، format، یا f-string؟ مزایا و معایب هر کدوم چیه و در چه شرایطی بهتره از یکی به جای دیگری استفاده کنیم؟

1403/06/03
پاسخ
رضا دولتی عاشق برنامه نویسی و هوش مصنوعی!
بیوگرافی رضا دولتی

در پایتون، سه روش اصلی برای قالب‌بندی رشته‌ها وجود داره:

  1. استفاده از %: این روش قدیمی‌تره و با % عمل می‌کنه. ساده‌ست و برای مواقعی که قالب‌بندی خیلی ساده و ابتدایی می‌خوایم، خوبه. ولی اگر بخوایم قالب‌بندی پیچیده‌تر باشه یا مقادیر متنوعی رو جایگذاری کنیم، این روش کمتر کاربرد داره.
name = "Ali"
greeting = "Hello, %s!" % name
  1. استفاده از format: این روش با متد format() عمل می‌کنه و انعطاف‌پذیری بیشتری نسبت به % داره. می‌تونیم مقادیر رو به صورت کلید-مقدار جایگذاری کنیم و کنترل بیشتری روی قالب‌بندی داریم.
name = "Ali"
greeting = "Hello, {}!".format(name)
  1. استفاده از f-string: این روش جدیدتره و از نسخه ۳.۶ به بعد اضافه شده. f-string ها سریع‌تر و خواناتر هستن چون مستقیم داخل رشته از {} برای جایگذاری متغیرها استفاده می‌کنن.
name = "Ali"
greeting = f"Hello, {name}!"

اگر از نسخه‌های جدید پایتون استفاده می‌کنی، f-string رو انتخاب کن چون سریع‌تر و کاربرپسندتره. format() هم برای کارهای پیچیده‌تر و مقایسه‌پذیر با نسخه‌های قدیمی‌تر مناسبه. روش % دیگه کمتر استفاده می‌شه و بهتره فقط در مواقع خاص ازش استفاده بشه.

پاسخ: 1403/06/03
آخرین آپدیت: 1403/07/30