از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
دستکاری رشته های رایج در پایتون
سرفصلهای مطلب
معرفی
Python یک زبان برنامه نویسی چند پارادیگ سطح بالا و پویا است-و به ویژه با مجموعه ای از ابزارهای داخلی برای کارهای مختلف همراه است و میزان تلاش لازم برای نمونه اولیه و آزمایش ایده ها را کاهش می دهد. رشته ها یکی از پرکاربردترین ساختارهای داده در علوم کامپیوتر هستند و طبیعتاً دستکاری رشته ها یک روش معمول است.
در این راهنما، روش انجام دستکاری رشته در پایتون را خواهید آموخت.
رشته ها و دستکاری رشته ها
رشته ها دنباله ای هستند (یا بهتر است بگوییم… رشته های) از شخصیت ها. آنها به طور معمول به عنوان یک اجرا می شوند آرایه از کاراکترهایی که با هم به عنوان یک شی واحد عمل می کنند، در اکثر زبان های برنامه نویسی. همانطور که گفته شد – دستکاری رشته به تغییر کاراکترهای آرایه به هر شکلی خلاصه می شود.
توجه داشته باشید: در بیشتر زبانها، از جمله پایتون، رشتهها وجود دارند تغییرناپذیر – پس از ایجاد، یک رشته قابل تغییر نیست. اگر می خواهید یک رشته را تغییر دهید، در زیر هود یک رشته جدید ایجاد می شود که شامل اصل و تغییری است که می خواهید ایجاد کنید. این امر به این دلیل است که رشته ها بسیار مورد استفاده قرار می گیرند و می توانند در یک استخر مشترک “جمع شوند” که از آن می توان از اشیاء برای رشته هایی که یکسان هستند استفاده مجدد کنند (که به طور معمول اتفاق می افتد). در بیشتر موارد، این امر سربار اولیه سازی شی را کاهش می دهد روی حافظه سیستم و عملکرد زبان را افزایش می دهد. این نیز به عنوان شناخته شده است کارآموزی رشته.
در پایتون – برای اعلام یک رشته، دنباله ای از کاراکترها را در گیومه های تک، دوتایی یا سه گانه (با یا بدون str()
سازنده):
welcome = 'Good morning, Mark!'
note = "You have 7 new notifications."
more_text= """
Would
you
like
to
read
them?
"""
شما همچنین می توانید به صراحت یک شی رشته را با استفاده از عبارت مقداردهی اولیه کنید str()
سازنده:
welcome1 = 'Good morning Mark!'
welcome2 = str('Good morning Mark!')
بسته به روی نسخه Python که از آن استفاده می کنید ، و همچنین کامپایلر ، خط دوم نیز خواهد بود کارآموز یا کارآموز نمی شود رشته ساخته شده در id()
تابع می تواند برای تأیید این مورد استفاده شود – شناسه شیء را در حافظه باز می گرداند:
print(id(welcome1))
print(id(welcome2))
از نظر عملی – واقعاً نیازی به نگرانی در مورد کارآموزی رشته یا عملکرد آن ندارید روی درخواست شما
توجه داشته باشید: نکته دیگر اجرای این است که پایتون از a پشتیبانی نمی کند شخصیت برخلاف سایر زبانها که آرایه های a را تبدیل می کنند ، تایپ کنید character
a تایپ کنید string
نوع در پایتون، کاراکتر یک رشته طولی است 1
.
اگر بررسی کنید نوع از هر یک از اشیایی که ما ایجاد کرده ایم – مورد استقبال قرار می گیرید str
:
print(type(welcome1))
کلاس String لیست نسبتاً طولانی از روش هایی را ارائه می دهد که می تواند برای دستکاری/تغییر رشته ها استفاده شود (همه آنها یک نسخه تغییر یافته را برمی گردانند ، زیرا رشته ها تغییر ناپذیر هستند). علاوه بر این ، اپراتورهای استاندارد برای استفاده خاص از رشته ها نادیده گرفته شده اند ، بنابراین می توانید رشته ها را با هم اضافه کنید ، با استفاده از اپراتورهایی مانند +
!
عملگرها برای دستکاری رشته ها
اپراتورها سنگ بنای همه زبانها هستند – و آنها به طور معمول به اپراتورهای حسابی گرد می شوند (+
، -
، *
، /
عملگرهای رابطه ای (<
، >
، <=
، >=
، =
، ==
) و عملگرهای منطقی (&
یا AND
، |
یا OR
) ، و غیره برای کار با رشته ها بصری ، اپراتورهای پایتون نادیده گرفته شده اند که امکان استفاده مستقیم از رشته را فراهم می کنند!
اضافه کردن رشته
علاوه بر اضافه کردن اعداد صحیح، +
از اپراتور می توان برای ترکیب/جمع آوری دو رشته استفاده کرد:
string_1 = "Hello"
string_2 = " World!"
print(string_1 + string_2)
ضرب رشته
یک اپراتور اغلب کم ارزش عملگر ضرب است – *
. می توان از آن برای فوری چندین رشته یا توالی استفاده کرد ، به عنوان بخشی از یک رشته واحد:
string = 'Recursion...' * 5
print(string)
از آنجا که عبارات از سمت راست به سمت چپ ارزیابی می شوند ، می توانید یک رشته را ضرب کرده و سپس آن را به رشته دیگری اضافه کنید:
string = "I think I'm stuck in a " + "loop... " * 5
print(string)
انتساب رشته با افزودن
را +=
عملگر که به عنوان عملگر “در محل” شناخته می شود، یک اپراتور مختصر است. با قرار دادن متغیر مرجع اختصاص داده شده به عنوان اولین عملوند در جمع، جمع دو عملوند را کوتاه می کند:
s = 'Hello'
s += 'World'
print(s)
توابع برای دستکاری رشته
len()
را len()
تابع در فضای نام پایتون تعبیه شده است و بنابراین می توان آن را به عنوان یک تابع راحت جهانی فراخوانی کرد. از آن برای ارزیابی طول یک دنباله استفاده می شود – یک لیست، تاپل، و غیره. از آنجایی که رشته ها لیست هستند، طول آنها نیز می تواند با len()
تابع!
print(len("It's been 84 years..."))
هر دنباله قابل تکرار را به عنوان ورودی می گیرد و طول آن را به عنوان یک عدد صحیح برمی گرداند.
پیدا کردن()
را find()
متد وقوع یک الگو را در یک رشته جستجو میکند و موقعیت شروع آن (شاخصی که در آن شروع میشود) را برمیگرداند، در غیر این صورت برمیگردد. -1
:
text = "Writing Python is quite fun."
print(text.find("quite"))
print(text.find("at"))
را find()
متد دو آرگومان اختیاری اضافی می گیرد – beg
، و end
. را str
رشته مورد جستجو را تعریف می کند، beg
شاخص شروع است (0
به طور پیش فرض)، و end
شاخص پایانی رشته است که به طور پیش فرض روی طول رشته تنظیم شده است. با تغییر این موارد، می توانید فضای جستجوی الگو را تغییر دهید:
text = "I haven't been this choked up since I got a hunk of moussaka caught in my throat! - Hades."
text2 = "I"
print(text.find(text2))
print(text.find(text2, 10))
print(text.find(text2, 40))
توجه داشته باشید: را rfind()
روش آخرین رخداد را پیدا می کند.
شمردن()
را count()
روش به دنبال بستر ارائه شده در متن داده شده (حساس به مورد) است و یک عدد صحیح را نشان می دهد که تعداد وقایع آن الگوی را در رشته نشان می دهد:
text = "The flower that blooms in adversity is the most rare and beautiful of all – Mulan."
text_count = text.count('i')
print("The count of 'i' is", text_count)
به طور پیشفرض، شمارش از 0 شروع میشود و تا انتهای رشته ادامه مییابد، اما میتوان یک شاخص آغاز و پایان ارائه کرد:
text = "The flower that blooms in adversity is the most rare and beautiful of all – Mulan."
text_count = text.count('i', 0, 5)
print("The count of 'i' is", text_count)
برش دادن
Slicing یک نماد قدرتمند و همه کاره است که می توان از آن برای تکه دنباله ها! با استفاده از نماد براکت ، مانند هنگام دسترسی به عناصر از یک دنباله قابل تکرار ، می توانید به یک قطعه از عناصر ، بین یک شاخص شروع و پایان نیز دسترسی پیدا کنید:
text = "Hello, World!"
print(text(6:12))
نماد برش سه ورودی را می پذیرد – iterable(start:stop:step)
. start
شاخص شروع (شامل) است، stop
شاخص پایانی (انحصاری)، و step
افزایش است (که می تواند یک عدد منفی نیز باشد). بیایید سعی کنیم رشته را بین شاخص دوم (شامل) و هفتم (انحصاری) با یک مرحله برش دهیم. 2
:
text = 'The code runs fast'
print(text(2:7:2))
startswith() و endswith()
را startswith()
روش در پایتون تعیین می کند که آیا یک رشته با یک زیررشته ارائه شده شروع می شود در حالی که endswith()
متد بررسی می کند که آیا یک رشته به یک رشته فرعی ختم می شود و هر دو یک مقدار بولی برمی گردانند:
text = "hello world"
print(text.startswith("H"))
print(text.endswith("d"))
توجه داشته باشید: هر دو startswith()
و endswith()
به حروف بزرگ و کوچک حساس هستند
قالب بندی رشته ها
افزودن و حذف فضاها
را strip()
این روش، فضای خالی را از ابتدا و انتهای خط حذف می کند، و آن را به یک روش آسان برای حذف کاراکترهای خالی دنباله دار تبدیل می کند. برای حذف صرفاً فضای سمت راست یا چپ، استفاده کنید rstrip()
یا lstrip()
:
text = ' a short break '
text.strip()
text.rstrip()
text.lstrip()
برای یک راهنمای اختصاصی برای حذف فضاهای سفید از رشته ها – راهنمای ما به روش strip() Python را بخوانید!
تغییر حروف یک رشته – upper()، low ()، بزرگ ()، title()، swapcase()
تغییر قاب یک رشته بسیار ساده است! را upper()
، lower()
، capitalize()
، title()
، و swapcase()
همه روش ها می توانند برای تغییر حروف یک رشته استفاده شوند:
text = "When life gets you down you know what you've gotta do? Just keep swimming! – Finding Nemo"
print(text.upper())
print(text.lower())
print(text.title())
print(text.capitalize())
print(text.swapcase())
این منجر به:
WHEN LIFE GETS YOU DOWN YOU KNOW WHAT YOU'VE GOTTA DO? JUST KEEP SWIMMING! – FINDING NEMO
when life gets you down you know what you've gotta do? just keep swimming! – finding nemo
When Life Gets You Down You Know What You'Ve Gotta Do? Just Keep Swimming! – Finding Nemo
When life gets you down you know what you've gotta do? just keep swimming! – finding nemo
wHEN LIFE GETS YOU DOWN YOU KNOW WHAT YOU'VE GOTTA DO? jUST KEEP SWIMMING! – fINDING nEMO
تقسیم رشته و پارتیشن بندی با split() و partition()
برای پیدا کردن یک زیر رشته و سپس تقسیم رشته بر اساس روی مکان آن، شما به آن نیاز دارید partition()
و split()
مواد و روش ها. هر دو لیستی از رشتهها را با تقسیم اعمال شده برمیگردانند. هر دو به حروف کوچک و بزرگ حساس هستند.
را partition()
متد زیر رشته را قبل از اولین وقوع نقطه تقسیم، خود نقطه تقسیم و زیررشته بعد از آن را برمی گرداند:
text = "To be or not to be, that is the question"
print(text.partition('to be'))
در همین حال، split()
رشته را می شکافد روی هر فضای خالی به طور پیش فرض، لیستی از کلمات جداگانه در یک رشته را به دست می دهد:
text = "To be or not to be, that is the question"
print(text.split())
به طور طبیعی، شما همچنین می توانید با هر شخصیت دیگری که در آن ارائه شده است تقسیم کنید split()
زنگ زدن:
text = "To be or not to be, that is the question"
print(text.split(','))
اتصال رشته ها با join()
را join()
روش کار می کند روی تکرار شوندههایی که منحصراً شامل نمونههای رشتهای هستند و همه عناصر را به هم و در یک رشته میپیوندند. شایان ذکر است که روش نامیده می شود روی رشته ای که نشان دهنده حائل، جداکننده، نه رشته ای که تکرارها را به آن می پیوندید:
text = ('One', 'Two', 'Three', 'Four')
print(', '.join(text))
برای راهنمایی دقیق تر روی پیوستن لیست ها به رشته ها، از جمله انواع داده های مختلف، پایتون ما را بخوانید: تبدیل لیست به رشته با join()
جایگزینی رشته های فرعی
جایگزین کردن یک رشته فرعی بدون دانستن اینکه در کجا قرار دارد بسیار آسان است! با استفاده از replace()
روش، شما می توانید الگوی جایگزین را تهیه کنید و الگوی جدید را در آن فضا درج کنید:
text = "Because of what you have done, the heavens are now part of man's world"
print(text.replace("man's", "human's"))
نتیجه
در این مقاله – ما به برخی از تکنیک های مشترک دستکاری رشته ، اپراتورها و روشها/توابع ، با راهنماهای دقیق تر مرتبط رسیده ایم.
(برچسبها به ترجمه)# python
منتشر شده در 1403-01-06 09:51:04