فرمت دهی رشته در پایتون

فرمت دهی به رشته مبحثی در پایتون است که می توان از طریق آن ترکیبی از مقادیر و متغیر ها را در یک رشته نگهداری کرد.

نکته: برای آشنایی با رشته ها به درس رشته ها پایتون مراجعه کنید.

انواع قالب‌ها و فرمت‌های پرینت در پایتون

متد ()print برای چاپ کردن اطلاعات در خروجی به کار می رود.

print("Alireza")

قالب بندی در دستور پرینت به سه روش انجام می گیرد:

  • روش F-String
  • متد ()format
  • روش %

در روش ساده استفاده از فرمت دهی رشته ها مانند مثال زیر عمل می کنیم:

یک متغیر به نام name می سازیم که نام کاربر در آن ذخیره شده است.

name = "علیرضا"

برای چاپ کردن از متد ()print استفاده می کنیم و با عملگر + یک رشته را با متغیر ترکیب می کنیم.

"name + "خوش آمدید""

در ادامه برای چاپ کردن خروجی از متد ()print استفاده می کنیم.

print( name + "خوش آمدید" )

فرمت دهی رشته با روش F-String در پایتون

از نسخه 3.6 پایتون برای فرمت دهی رشته ها از روش F-String استفاده می‌ شود.

در این روش یک متغیر با نام name می سازیم که نام  کاربر را ذخیره می کند.

name = "علیرضا"

نام متغیر را در آکولاد { } و رشته را در کنار آن می نویسیم.

"خوش آمدی {name}"

قبل از رشته حرف f یا F قرار می‌گیرد تا فرمت دهی شود.

f"{name} خوش آمدی"

در ادامه با اضافه کردن متد پرینت ()print می توان نتیجه را چاپ کرد.

print(f""خوش آمدی {name}"")

نکته: حروف f و F تفاوتی در کاربرد ندارند. 

متد format() در پایتون

با متد format() ، می‌توان برای فرمت دهی رشته های طولانی و با متغیرهای زیاد همچنین فرمت دهی های معمولی استفاده کرد.

این روش تقریبا همانند روش F-String است و مانند مثال زیر انجام می شود.

دو متغیر fname و wname را بدون اینکه از قبل ایجاد کنیم، در آکولاد { } می نویسیم.

"this website is {wname}, I'm {fname}"

با استفاده از متد ()format در ادامه رشته دو متغیر را مقداردهی می کنیم.

format(wname = "PNLdev", fname = "Alireza")

در ادامه با متد ()format رشته را فرمت دهی می کنیم. 

"this website is {wname}, I'm {fname}".format(wname = "PNLdev", fname = "Alireza")

روش های دیگری برای استفاده از متد ()format وجود دارد که در آن می توان به جای نام متغیر از شاخص(index) استفاده کرد.

نکته: به هر یک از متغیرها در رشته اصطلاحا یک ایندکس - index گفته می شود.

نکته: در همه زبان های برنامه نویسی، ایندکس ها از 0 شروع می شوند.

"this website is {0}, I'm {1}".format("PNLdev", "Alireza")
"this website is {}, I'm {}".format("PNLdev", "Alireza")

نکته: متد ()format می تواند بیش از دو مقدار هم بپذیرد و در متن های طولانی استفاده می شودو

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

روش % برای فرمت دهی رشته ها روشی قدیمی است اما هنوز از آن در برخی پروژه ها استفاده می‌ شود.

این روش در ایجاد متغیر، نیاز به تعیین نوع داده متغیر هم دارد.

نکته: برای اطلاعات بیشتر به درس انواع داده پایتون مراجعه کنید.

برای تعیین نوع متغیر در رشته از علامت های مخصوص استفاده می شود.

  • %s : رشته 
  • %d : اعداد صحیح
  • %f : اعداد اعشاری

در مثال زیر دو متغیر به نام name و score ایجاد می کنیم.

name = "PNLdev"
score = 100

در یک رشته در بخش هایی که قصد داریم از متغیرها استفاده کنیم، با توجه به نوع داده هر متغیر از علامت های مخصوص استفاده می کنیم.

"%s 's score is %d"

با استفاده از % نام دو متغیر را به ترتیب می نویسیم.

% (name, price)

سپس با روش % رشته را فرمت دهی می کنیم.

"%s 's score is %d" % (name, price)

در ادامه با متد ()print خروجی را چاپ می کنیم.

print("%s 's score is %d" % (name, price))

تعیین تعداد رقم اعشار در پایتون

اگر متغیری دارای عدد اعشاری بود، برای تعیین نمایش تعداد اعشار آن باید از روش F-String استفاده کرد.

برای مثال متغیری به نام price قیمت یک محصول را به صورت اعشاری ذخیره می کند.

price = 2.00000000

برای نمایش تعداد رقم اعشار تا دو رقم باید با روش F-String در یک رشته به صورت زیر نشان داد.

f"{price:.2f}"

در ادامه خروجی را چاپ می کنیم.

print(f"{price:.2f}")

عملیات های ریاضی در رشته های پایتون

برای انجام عملیات های ریاضی در بین رشته ها می توانید از روش F-String استفاده کنید.

f"The number is: {2 * 50}"

نکته: همچنین شما می توانید عملیات های ریاضی را در متغیرها بصورت جداگانه انجام دهید و خروجی آنها را در رشته وارد کنید.

f"The number is: {num}"

اجرای توابع در رشته های پایتون

با روش F-String می توانید در بین رشته ها برخی توابع را اجرا کنید.

f"I am{name.upper()}"

ایجاد شرط در رشته ها پایتون

در یک رشته می توانید با استفاده از طریق روش F-String از دستورات شرطی استفاده کرده و مقادیر مختلف را نمایش دهیم.

یک متغیر به نام age ایجاد می کنیم که سن کاربر را ذخیره می کند.

age = 19

در رشته بررسی می کنیم که اگر سن کاربر کمتر از 18 باشد پیام is not suitable و در غیر اینصورت پیام is suitable را چاپ کند.

f" Your age{'is not suitable' if age<18 else 'is suitable'}"

انواع قالب بندی با روش F-String در پایتون

روش های متفاوت فرمت بندی با روش f-string وجود دارد که یک نمونه آن را در نمایش اعداد اعشاری(:f) مشاهده کردید.

 فرمت کاربرد مثال
>: در سمت راست مقدار، فاصله ایجاد می شود. مثال
:< در سمت چپ مقدار، فاصله ایجاد می شود. مثال
:^ به اندازه مساوی به دو طرف رشته فاصله اضافه می شود. مثال
:= فاصله در سمت چپ و گذاشتن یک علامت در دورترین فاصله از مقدار. مثال
:+ از علامت مثبت برای نشان دادن مثبت بودن نتیجه استفاده می شود. مثال
:- از علامت منفی برای نشان دادن منفی بودن نتیجه استفاده می شود. مثال
یک فاصله قبل از اعداد مثبت و علامت منفی برای اعداد منفی می گذارد. مثال
:,  برای جداکردن اعداد طولانی با صدگان و دهگان با کاما(,) مثال
:_  برای جداکردن اعداد طولانی با صدگان و دهگان با زیرخط(_) مثال
:b تبدیل عدد به باینری مثال
:c  مقدار را به کاراکتر یونیکد مربوطه تبدیل می کند.
:d تبدیل به عدد اعشاری مثال
:e قالب علمی، با حرف کوچک e مثال
:E قالب علمی، با حرف بزرگ E مثال
:f به عدد ثابت تبدیل می کند(تعیین تعداد رقم اعشار) مثال
:F ثابت کردن عدد، در قالب حروف بزرگ (نمایش inf و nan به صورت INF و NAN) مثال
:g فرمت عمومی
:G فرمت عمومی (با استفاده از حروف بزرگ E برای نماد های علمی)
:o فرمت هشت هشتی(اکتال) مثال
:x فرمت شانزده شانزدهی(هگزادسیمال)، حرف کوچک مثال
:X فرمت شانزده شانزدهی(هگزادسیمال)، حرف بزرگ مثال
:n فرمت اعداد
:%  عدد را به نوع درصد تبدیل می کند. مثال

خلاصه درس

در این درس با مباحث زیر آشنا شدید:

  • روش های فرمت دهی در پایتون
  • استفاده از متغیر میان رشته ها
  • انجام عملیات ریاضی و اجرای توابع در رشته ها

توسعه دهندگان
علیرضا چمنی