برنامه نویسیبرنامه نویسی پایتوندانشنامهسایر

اهمیت قالب‌بندی رشته‌ها یا String Formatting در پایتون

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

در ادامه، دو مورد از محبوب‌ترین روش‌ها یعنی Format String و f-string را با هم مقایسه می‌کنیم:

متد .format() (معرفی شده در پایتون ۲.۶)

این روش نسبت به روش قدیمیِ % بسیار منعطف‌تر است و اجازه می‌دهد متغیرها را با استفاده از براکت {} در جای مناسب قرار دهید.

  • نحو (Syntax): متغیرها به ترتیب در {} جایگذاری می‌شوند یا می‌توان به آن‌ها اندیس داد.

  • مزیت: جداسازی متن از داده‌ها؛ یعنی ابتدا قالب رشته را می‌نویسید و در انتها داده‌ها را پاس می‌دهید.

مثال:

name = "Alice"
age = ۲۵

# Positional placeholders
print("Hello, my name is {} and I am {} years old.".format(name, age))

# Using indexes (useful for reordering or repeating)
print("User: {0}, Nickname: {0}, Age: {1}".format(name, age))

# Using keywords
print("Point: x={x}, y={y}".format(x=۱۰, y=۲۰))

f-string (معرفی شده در پایتون ۳.۶)

نام رسمی آن Formatted String Literals است. این روش در حال حاضر بهترین، سریع‌ترین و خواناترین راه برای قالب‌بندی در پایتون است.

  • نحو (Syntax): کافی است حرف f یا F را قبل از شروع کوتیشن قرار دهید و نام متغیر را مستقیماً داخل {} بنویسید.

  • مزیت: سرعت اجرای بسیار بالا (چون در زمان اجرا ارزیابی می‌شود) و خوانایی فوق‌العاده.

مثال:

name = "Bob"
score = ۹۵.۵

# Direct variable embedding
print(f"Student: {name}, Score: {score}")

# Inline expressions and method calls
print(f"Upper case name: {name.upper()}")
print(f"Is passing? {'Yes' if score > ۵۰ else 'No'}")
مقایسه قابلیت‌های پیشرفته

هر دو روش از یک زبان مشترک برای تعیین جزئیات (Format Specification Mini-Language) استفاده می‌کنند. برخی از این قابلیت‌ها عبارتند از:

قابلیت مثال در f-string خروجی/توضیح
تعداد ارقام اعشار f"{3.14159:.2f}" ۳.۱۴
جداکننده هزارگان f"{1000000:,}" ۱,۰۰۰,۰۰۰
تراز کردن متن f"{'hi':>10}" تراز به راست (با ۱۰ فاصله)
عملیات ریاضی f"{2 + 2}" ۴ (فقط در f-string)

کدام را انتخاب کنیم؟

  • f-string: همیشه انتخاب اول شما باشد. هم کدتان تمیزتر می‌شود و هم سرعت برنامه بالاتر می‌رود.

  • .format(): زمانی استفاده کنید که رشته قالب‌بندی شما از قبل تعریف شده است (مثلاً در یک فایل تنظیمات یا دیتابیس ذخیره شده) و می‌خواهید بعداً داده‌ها را به آن تزریق کنید.

یک نکته باحال: در پایتون ۳.۸ به بعد، می‌توانید از = در f-string برای دیباگ کردن سریع استفاده کنید:

user_id = ۴۰۴
status = "Not Found"

print(f"{user_id=}, {status=}")
# Output: user_id=404, status='Not Found'
نمایش بیشتر

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

همچنین ببینید
بستن
دکمه بازگشت به بالا