رشته در پایتون؛ آموزش Indexing و Slicing با مثال | جلسه ۱۱
رشته در پایتون
جلسه ۱۱ آموزش برنامهنویسی پایتون از صفر؛
رشته در پایتون، اندیسگذاری (Indexing) و برش رشتهها (Slicing)
رشته در پایتون یکی از پرکاربردترین انواع داده است و تقریباً در تمام برنامههای پایتونی از آن استفاده میشود. از پردازش نام کاربران و پیامها گرفته تا تحلیل فایلها، دادههای وب و حتی پروژههای هوش مصنوعی، همه به کار با رشتهها وابسته هستند. در این جلسه از مجموعه آموزش برنامهنویسی پایتون از صفر یاد میگیریم چگونه به کاراکترهای یک رشته دسترسی پیدا کنیم، بخشی از متن را استخراج کنیم و عملیات مختلفی را روی رشتهها انجام دهیم.
تحقیق و تدوین مهدی گمرکی
مروری بر جلسه دهم
در جلسه گذشته با رشته در پایتون آشنا شدیم و یاد گرفتیم که چگونه با استفاده از تککوتیشن، دوکوتیشن و سهکوتیشن، رشتهها را تعریف کنیم. همچنین بررسی کردیم که هر نوع کوتیشن در چه شرایطی کاربرد بیشتری دارد. اکنون زمان آن رسیده است که از مرحله تعریف رشته عبور کنیم و با روشهای دسترسی و پردازش محتوای آن آشنا شویم.
اهداف جلسه
در پایان این جلسه خواهید توانست:
- به کاراکترهای رشته در پایتون با استفاده از Indexing دسترسی پیدا کنید.
- بخش دلخواهی از یک رشته را با Slicing استخراج کنید.
- رشتهها را به یکدیگر متصل یا تکرار کنید.
- با خطاهای رایج هنگام کار با رشتهها آشنا شوید.
۱. اندیسگذاری (Indexing) در رشته در پایتون
در رشته در پایتون هر کاراکتر دارای یک شماره یا اندیس (Index) است. پایتون اندیسگذاری را از صفر آغاز میکند؛ بنابراین اولین کاراکتر دارای اندیس ۰ و آخرین کاراکتر دارای اندیس طول رشته منهای یک است.
text = "Python"
print(text[0]) # P
print(text[2]) # t
print(text[-1]) # n
نکته مهم این است که اندیسهای منفی از انتهای رشته شمارش میشوند و برای دسترسی به آخرین کاراکترها بسیار کاربردی هستند.
۲. برش رشته (Slicing) در پایتون
یکی از قابلیتهای بسیار کاربردی رشته در پایتون، امکان جدا کردن بخشی از متن است. فرض کنید یک رشته طولانی دارید، اما فقط به قسمتی از آن نیاز دارید. به جای اینکه کاراکترها را یکییکی استخراج کنید، میتوانید با استفاده از Slicing یا برش رشته، بخش دلخواه را تنها با یک دستور جدا کنید.
برای مثال، فرض کنید رشته زیر را در اختیار داریم:
text = "Python Programming"
اگر بخواهیم فقط کلمه Python را استخراج کنیم، کافی است بنویسیم:
print(text[0:6])
خروجی:
Python
ساختار Slicing
فرمت کلی برش رشته در پایتون به شکل زیر است:
string[start:stop]
در این ساختار:
- start مشخص میکند برش از کدام اندیس آغاز شود.
- stop مشخص میکند برش تا قبل از کدام اندیس ادامه پیدا کند.
نکته مهم: اندیس stop هرگز در خروجی قرار نمیگیرد.
به همین دلیل در مثال قبل، با اینکه مقدار stop برابر 6 است، خروجی فقط شامل اندیسهای 0 تا 5 خواهد بود.
فرض کنید رشته ما به شکل زیر است:
P y t h o n P r o g r a m m i n g
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
وقتی مینویسیم:
print(text[0:6])
پایتون کاراکترهای اندیس ۰، ۱، ۲، ۳، ۴ و ۵ را برمیدارد و قبل از رسیدن به اندیس ۶ متوقف میشود.
بنابراین خروجی برابر است با:
Python
اگر عدد اول را ننویسیم چه میشود؟
اگر مقدار start را حذف کنیم، پایتون بهصورت پیشفرض از ابتدای رشته شروع میکند.
print(text[:6])
خروجی:
Python
اگر عدد دوم را ننویسیم چه میشود؟
اگر مقدار stop را حذف کنیم، برش تا انتهای رشته ادامه پیدا میکند.
print(text[7:])
خروجی:
Programming
اگر هر دو عدد را حذف کنیم چه میشود؟
در این حالت، کل رشته برگردانده میشود.
print(text[:])
خروجی:
Python Programming
این روش معمولاً زمانی استفاده میشود که بخواهیم یک کپی از رشته ایجاد کنیم.
پارامتر سوم؛ Step
برش رشته فقط به نقطه شروع و پایان محدود نمیشود. میتوانیم مشخص کنیم پایتون هر چند کاراکتر یکبار دادهها را انتخاب کند.
ساختار کامل به شکل زیر است:
string[start:stop:step]
پارامتر step یعنی فاصله بین کاراکترهای انتخابشده.
برای مثال:
text = "Python"
print(text[::2])
خروجی:
Pto
زیرا پایتون یک کاراکتر انتخاب میکند و یکی را رد میکند:
P y t h o n
↑ ↑ ↑
برعکس کردن رشته
یکی از کاربردهای جالب پارامتر step، برعکس کردن رشته است.
اگر مقدار step برابر -1 باشد، پایتون رشته را از انتها به ابتدا میخواند.
text = "Python"
print(text[::-1])
خروجی:
nohtyP
این روش یکی از معروفترین و پرکاربردترین ترفندهای پایتون است.
کاربرد Slicing در پروژههای واقعی
برش رشته در پایتون فقط یک قابلیت آموزشی نیست؛ در بسیاری از پروژههای واقعی استفاده میشود. برای مثال:
- استخراج نام فایل از یک مسیر (Path)
- جدا کردن کد کشور از شماره تلفن
- نمایش چند حرف اول نام کاربر
- حذف پیشوند یا پسوند یک متن
- پردازش آدرسهای اینترنتی (URL)
- استخراج بخشهای مختلف یک تاریخ یا زمان
به همین دلیل، تسلط بر Slicing یکی از مهارتهای پایه و ضروری هر برنامهنویس پایتون است.
۳. عملیات روی رشته در پایتون
الحاق رشتهها (Concatenation)
first = "Hello"
second = "World"
print(first + " " + second)
تکرار رشتهها (Repetition)
print("Hi! " * 3)
نکته مهم؛ رشتهها در پایتون تغییرناپذیر هستند
یکی از ویژگیهای مهم رشته در پایتون این است که رشتهها Immutable هستند؛ یعنی پس از ایجاد، امکان تغییر مستقیم کاراکترهای آنها وجود ندارد.
text = "Python"
text[0] = "J"
کد بالا با خطای TypeError مواجه میشود. برای تغییر یک رشته باید رشته جدیدی ایجاد کنید.
کاربرد رشته در پروژههای واقعی
یادگیری رشته در پایتون فقط برای مثالهای آموزشی نیست. این مبحث در بسیاری از پروژههای واقعی کاربرد دارد، از جمله:
- پردازش فرمهای ثبتنام کاربران
- اعتبارسنجی شماره موبایل و ایمیل
- تحلیل فایلهای متنی
- استخراج اطلاعات از صفحات وب
- پردازش زبان طبیعی (NLP)
- هوش مصنوعی و یادگیری ماشین
- توسعه وب با فریمورکهایی مانند Django و Flask
جمعبندی
در این جلسه با مهمترین روشهای کار با رشته آشنا شدیم. یاد گرفتیم چگونه با استفاده از Indexing به کاراکترهای یک رشته دسترسی پیدا کنیم، با Slicing بخشی از متن را استخراج کنیم و عملیاتهایی مانند الحاق و تکرار رشتهها را انجام دهیم. همچنین با اندیسهای منفی، پارامتر Step و ویژگی تغییرناپذیر بودن رشتهها آشنا شدیم. تسلط بر این مفاهیم، پایهای برای یادگیری متدهای رشتهای، پردازش متن و توسعه پروژههای حرفهای در پایتون است.
تحقیق و تدوین مهدی گمرکی
