Python – قالببندی رشتهها (String Formatting)
قالببندی رشتهها در پایتون
در پایتون، برای قالببندی رشتهها میتوان از روشهای مختلفی استفاده کرد. در نسخههای جدیدتر، از F-Strings استفاده میشود، در حالی که روشهای قدیمیتر مانند format()
نیز هنوز کاربرد دارند.
F-Strings
F-Strings از نسخه 3.6 به پایتون اضافه شد و روش جدید و بهتری برای قالببندی رشتهها است. برای استفاده از F-Strings، کافیست حرف f
را در ابتدای رشته قرار دهید:
مثال:
price = 59
txt = f"The price is {price} dollars"
print(txt)
استفاده از Placeholders و Modifiers
- Placeholders: میتوانید متغیرها، عملیات، توابع و تغییرات را در داخل
{}
قرار دهید.
مثال:
price = 59
txt = f"The price is {price:.2f} dollars"
print(txt)
- Modifiers: با استفاده از
:
و نوع قالببندی میتوانید نحوه نمایش مقدار را تغییر دهید. به عنوان مثال،.2f
برای نمایش عدد با ۲ رقم اعشار است.
مثال:
txt = f"The price is {95:.2f} dollars"
print(txt)
انجام عملیات در F-Strings
میتوانید عملیات ریاضی را در داخل {}
انجام دهید:
مثال:
txt = f"The price is {20 * 59} dollars"
print(txt)
اجرای توابع در F-Strings
میتوانید توابع را نیز در داخل {}
اجرا کنید:
مثال:
def myconverter(x):
return x * 0.3048
txt = f"The plane is flying at a {myconverter(30000)} meter altitude"
print(txt)
سایر Modifiers
میتوانید از انواع مختلفی از Modifiers برای قالببندی استفاده کنید:
مثال:
price = 59000
txt = f"The price is {price:,} dollars"
print(txt)
متد format()
قبل از پایتون 3.6، از متد format()
برای قالببندی استفاده میشد. این متد هنوز هم کاربرد دارد و شامل ویژگیهای مشابهی با F-Strings است.
مثال:
price = 49
txt = "The price is {} dollars"
print(txt.format(price))
استفاده از چندین مقدار
میتوانید چندین مقدار را به متد format()
اضافه کنید:
مثال:
quantity = 3
itemno = 567
price = 49
myorder = "I want {} pieces of item number {} for {:.2f} dollars."
print(myorder.format(quantity, itemno, price))
استفاده از شمارههای ایندکس
برای اطمینان از اینکه مقادیر در مکانهای صحیح قرار میگیرند، میتوانید از شمارههای ایندکس استفاده کنید:
مثال:
age = 36
name = "John"
txt = "His name is {1}. {1} is {0} years old."
print(txt.format(age, name))
استفاده از Named Indexes
همچنین میتوانید از نامهای ایندکس استفاده کنید:
مثال:
myorder = "I have a {carname}, it is a {model}."
print(myorder.format(carname="Ford", model="Mustang"))
هر یک از این روشها میتواند در موقعیتهای مختلف بسته به نیاز پروژه و نسخه پایتون مورد استفاده قرار گیرد.
برای ارسال نظر لطفا ابتدا وارد حساب کاربری خود شوید. صفحه ورود و ثبت نام