از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
درون یابی رشته پایتون با عملگر درصد (%)
سرفصلهای مطلب
روشهای مختلفی برای قالببندی رشتهها در پایتون وجود دارد که یکی از آنها با استفاده از آن انجام میشود %
عملگر که به عنوان عملگر قالب بندی رشته ای (یا درون یابی) شناخته می شود. در این مقاله به شما نشان خواهیم داد که چگونه از این عملگر برای ساخت رشته هایی با یک رشته الگو و متغیرهای حاوی داده های شما استفاده کنید.
اپراتور
این روش کار با متن از ابتدا با پایتون ارسال شده است، و همچنین به عنوان قالب بندی به سبک C شناخته می شود، زیرا از زبان برنامه نویسی C سرچشمه می گیرد. توصیف دیگر برای آن است قالب بندی موقعیتی ساده.
را %
عملگر به مفسر پایتون میگوید که یک رشته را با استفاده از مجموعهای از متغیرها که در یک تاپل محصور شدهاند، به دنبال عملگر قالببندی کند. یک مثال بسیار ساده از آن به شرح زیر است:
'%s is smaller than %s' % ('one', 'two')
مفسر پایتون اولین رخداد را جایگزین می کند %s
در رشته توسط رشته داده شده “یک”، و دوم %s
توسط رشته “دو”. اینها %s
رشتهها در واقع محلهایی در رشته «قالب» ما هستند و نشان میدهند که رشتهها در آنجا قرار خواهند گرفت.
به عنوان اولین مثال، در زیر روش استفاده از Python REPL را نشان میدهیم print یک مقدار رشته و یک مقدار شناور:
>>> print("Mr. %s, the total is %.2f." % ("Jekyll", 15.53))
'Mr. Jekyll, the total is 15.33.'
درست مثل %s
یک مکان نگهدار برای رشته ها است، %f
یک مکان نگهدار برای اعداد ممیز شناور است. “.2” قبل از f
چیزی است که نشان می دهد چند رقم می خواهیم بعد از نقطه اعشار نمایش داده شود.
اینها فقط دو مثال ساده از آنچه ممکن است هستند، و انواع بیشتری از متغیرهایی پشتیبانی می شوند. در اینجا لیست کامل انواع متغیرهایی با جزئیات بیشتر آمده است:
%c
این مکان نگهدار نشان دهنده یک کاراکتر واحد است.
>>> print("The character after %c is %c." % ("B", "C"))
The character after B is C.
ارائه بیش از یک کاراکتر به عنوان متغیر در اینجا یک استثنا ایجاد می کند.
%s
این مکان نگهدار از تبدیل رشته از طریق استفاده می کند str()
قبل از قالب بندی بنابراین هر مقداری که بتوان از طریق آن را به رشته تبدیل کرد str()
را می توان در اینجا استفاده کرد.
>>> place = "New York"
>>> print("Welcome to %s!" % place)
Welcome to New York!
در اینجا ما فقط یک عنصر برای استفاده در قالب بندی رشته خود داریم و بنابراین نیازی نیست که عنصر را مانند نمونه های قبلی در یک تاپل محصور کنیم.
%i و %d
این متغیرها نشان دهنده یک عدد صحیح اعشاری امضا شده است.
>>> year = 2019
>>> print("%i will be a perfect year." % year)
2019 will be a perfect year.
از آنجایی که این مکان نگهدار انتظار اعشار دارد، اگر به جای آن یک مقدار ممیز شناور ارائه شود، به یک تبدیل می شود.
%u
این مکان نگهدار نشان دهنده یک عدد صحیح اعشاری بدون علامت است.
%o
این مکان نگهدار نشان دهنده یک عدد صحیح هشتگانه است.
>>> number = 15
>>> print("%i in octal is %o" % (number, number))
15 in octal is 17
٪ایکس
یک عدد صحیح هگزادسیمال را با استفاده از حروف کوچک (af) نشان می دهد.
>>> number = 15
>>> print("%i in hex is %02x" % (number, number))
15 in hex is 0f
با استفاده از پیشوند “02” در محل مکان خود، به پایتون می گوییم که print یک رشته هگز دو کاراکتری
٪ایکس
یک عدد صحیح هگزادسیمال را با استفاده از حروف بزرگ (AF) نشان می دهد.
>>> number = 15
>>> print("%i in hex is %04X" % (number, number))
15 in hex is 000F
و مانند مثال قبلی، با استفاده از پیشوند “04” در محل مکان خود، به پایتون میگوییم که print یک رشته هگز چهار کاراکتری
%e
یک نماد نمایی را با حروف کوچک “e” نشان می دهد.
%E
یک نماد نمایی را با حروف بزرگ “e” نشان می دهد.
% f
یک عدد واقعی ممیز شناور را نشان می دهد.
>>> price = 15.95
>>> print("the price is %.2f" % price)
the price is 15.95
% g
نسخه کوتاهتر از %f
و %e
.
%G
نسخه کوتاهتر از %f
و %E
.
مکانهایی که در بالا نشان داده شدهاند به شما امکان میدهند رشتهها را با تعیین انواع داده در قالبهای خود قالببندی کنید. با این حال، اینها تنها ویژگی های عملگر درون یابی نیستند. در بخش فرعی بعدی خواهیم دید که چگونه میتوانیم رشتههای خود را با فاصلهها با استفاده از علامت ببندیم %
اپراتور.
تراز کردن خروجی
تا به حال ما فقط روش قالب بندی رشته های متنی را با تعیین متغیرهای ساده نشان داده ایم. با کمک یک مقدار عددی اضافی، می توانید تعریف کنید کل فضایی که باید رزرو شود روی هر طرف یک متغیر در رشته خروجی
به عنوان مثال ارزش %10s
10 کاراکتر با فاصله اضافی رزرو می کند روی سمت چپ نگهدارنده مکان و مقداری از %-10s
هر فضای اضافی را در سمت راست نگهدارنده قرار می دهد. نویسه تک padding یک فاصله است و نمی توان آن را تغییر داد.
>>> place = "London"
>>> print ("%10s is not a place in France" % place)
London is not a place in France
>>> print ("%-10s is not a place in France" % place)
London is not a place in France
برخورد با اعداد به همین صورت عمل می کند:
>>> print ("The postcode is %10d." % 25000)
The postcode is 25000.
>>> print ("The postcode is %-10d." % 25000)
The postcode is 25000 .
کوتاه کردن رشته ها و گرد کردن اعداد همتای پر کردن است. نگاهی به Rounding Numbers در پایتون بیندازید تا در مورد تله هایی که در اینجا پنهان شده اند بیشتر بدانید.
نتیجه
در این مقاله دیدیم که چگونه عملگر درونیابی (معروف به قالببندی) روشی قدرتمند برای قالببندی رشتهها است که به شما امکان میدهد نوع داده، دقت ممیز شناور و حتی فاصله/پرداخت را مشخص کنید.
(برچسبها به ترجمه)# python
منتشر شده در 1403-01-20 22:03:05