قالب بندی
برای اطمینان از اینکه رشته به شکل مورد انتظار چاپ خواهد شد، میتوانیم نتیجه را با متد format()
قالب بندی کنیم.[۱]
رشته format()
متد format()
امکان قالب بندی بخشهای انتخاب شده از رشته را فراهم میکند.
گاهی اوغات بخشهایی از متن وجود دارند که نمیتوان کنترل کرد، شاید از پایگاه داده آمده باشند یا ورودی کاربر باشند؟
برای کنترل چنین مقدارهایی، placeholderها (آکولادها {}
) را در متن اضافه کنید و مقدارها را از طریق متد format()
اجرا کنید:
مثال
یک placeholder در قسمتی که میخواهید قیمت نمایش داده شود اضافه کنید:
1 price = 49
2 txt = "The price is {} dollars"
3 print(txt.format(price))
میتوانید پارامترهایی داخل آکولاد اضافه کنید تا نحوه تبدیل مقدار را مشخص کنید:
مثال
قیمت را قالب بندی میکند تا بصورت یک عدد با دو رقم اعشار نمایش داده شود:
txt = "The price is {:.2f} dollars"
چند مقدار
اگر میخواهید بیش از یک مقدار استفاده کنید، فقط تعداد مقدارهای بیشتری به متد format() اضافه کنید:
print(txt.format(price, itemno, count))
و placeholderهای بیشتری اضافه کنید:
مثال
1 quantity = 3
2 itemno = 567
3 price = 49
4 myorder = "I want {} pieces of item number {} for {:.2f} dollars."
5 print(myorder.format(quantity, itemno, price))
اعداد اندیس
میتوانید از عددهای اندیس استفاده کنید (عددی داخل آکولاد {0}
) تا مطمئن شوید که مقدارها در placeholderهای صحیح قرار میگیرند:
مثال
1 quantity = 3
2 itemno = 567
3 price = 49
4 myorder = "I want {0} pieces of item number {1} for {2:.2f} dollars."
5 print(myorder.format(quantity, itemno, price))
همچنین، اگر میخواهید بیش از یکبار به یک مقدار ارجاع بزنید، از عدد اندیس استفاده کنید:
مثال
1 age = 36
2 name = "John"
3 txt = "His name is {1}. {1} is {0} years old."
4 print(txt.format(age, name))
اندیس های نامگذاری شده
همچنین میتوانید از اندیسهای نام گذاری شده با وارد کردن نام داخل آکولاد استفاده کنید {carname}
، اما در این صورت باید هنگام پاس کردن مقدارهای پارامتر از نامها استفاده کنید txt.format(carname = "Ford")
:
مثال
1 myorder = "I have a {carname}, it is a {model}."
2 print(myorder.format(carname = "Ford", model = "Mustang"))
منابع آموزشی