پرسش
استفاده از قالببندی رشته با %، format، یا f-string در پایتون: کدام یک بهتر است؟
String formatting: % vs. .format vs. f-string literal
وقتی میخوام رشتهها رو در پایتون قالببندی کنم، بهتره از کدوم روش استفاده کنم؟ از %، format، یا f-string؟ مزایا و معایب هر کدوم چیه و در چه شرایطی بهتره از یکی به جای دیگری استفاده کنیم؟
پاسخ
رضا دولتی
عاشق برنامه نویسی و هوش مصنوعی!
در پایتون، سه روش اصلی برای قالببندی رشتهها وجود داره:
- استفاده از %: این روش قدیمیتره و با % عمل میکنه. سادهست و برای مواقعی که قالببندی خیلی ساده و ابتدایی میخوایم، خوبه. ولی اگر بخوایم قالببندی پیچیدهتر باشه یا مقادیر متنوعی رو جایگذاری کنیم، این روش کمتر کاربرد داره.
name = "Ali" greeting = "Hello, %s!" % name
- استفاده از format: این روش با متد format() عمل میکنه و انعطافپذیری بیشتری نسبت به % داره. میتونیم مقادیر رو به صورت کلید-مقدار جایگذاری کنیم و کنترل بیشتری روی قالببندی داریم.
name = "Ali" greeting = "Hello, {}!".format(name)
- استفاده از f-string: این روش جدیدتره و از نسخه ۳.۶ به بعد اضافه شده. f-string ها سریعتر و خواناتر هستن چون مستقیم داخل رشته از {} برای جایگذاری متغیرها استفاده میکنن.
name = "Ali" greeting = f"Hello, {name}!"
اگر از نسخههای جدید پایتون استفاده میکنی، f-string رو انتخاب کن چون سریعتر و کاربرپسندتره. format() هم برای کارهای پیچیدهتر و مقایسهپذیر با نسخههای قدیمیتر مناسبه. روش % دیگه کمتر استفاده میشه و بهتره فقط در مواقع خاص ازش استفاده بشه.
پاسخ: 1403/06/03
آخرین آپدیت: 1403/07/30