Python - Slicing Strings

در Python می‌توان با استفاده از Slicing (برش)، بخش دلخواهی از یک String را استخراج کرد.
Slicing به ما اجازه می‌دهد با تعیین start, end و step زیررشتهٔ مورد نظر را جدا کنیم.

🔹 ساختار کلی

string[start:end:step]
  • start : ایندکس شروع (پیش‌فرض 0)

  • end : ایندکس پایان (خود ایندکس پایان شامل نمی‌شود)

  • step : گام حرکت (پیش‌فرض 1)

🔹 مثال ساده

text = "Python" print(text[0:4]) # 'Pyth' (ایندکس 0 تا 3) print(text[2:]) # 'thon' (از 2 تا آخر) print(text[:3]) # 'Pyt' (از اول تا 2)

🔹 گام (Step)

print(text[::2]) # 'Pto' (هر دو کاراکتر یکی) print(text[1::2]) # 'yhn' (از ایندکس 1، پرش 2 تایی)

🔹 ایندکس منفی

ایندکس منفی از انتهای رشته حساب می‌شود:

print(text[-1]) # 'n' (آخرین کاراکتر) print(text[-4:-1]) # 'tho' (از -4 تا -2) print(text[::-1]) # 'nohtyP' (معکوس کل رشته)

🔹 حذف Start یا End

print(text[:]) # 'Python' (کل رشته) print(text[:4]) # 'Pyth' (از اول تا 3) print(text[2:]) # 'thon' (از 2 تا آخر)

🔹 نمونه ترکیبی

msg = "Hello, World!" print(msg[7:12]) # 'World' print(msg[::3]) # 'Hl r!'

✅ نکات مهم

  • End شامل نمی‌شود. string[0:4] یعنی کاراکترهای ایندکس 0 تا 3.

  • اگر start بزرگتر از end باشد و step مثبت باشد → خروجی رشتهٔ خالی است.

  • اگر step منفی باشد، رشته از راست به چپ خوانده می‌شود.

  • Slicing رشتهٔ اصلی را تغییر نمی‌دهد و یک رشتهٔ جدید برمی‌گرداند (String در پایتون immutable است).

💡 خلاصه:
Slicing در پایتون ابزار قدرتمندی برای گرفتن زیررشته‌ها، پرش در حروف، و معکوس‌کردن متن است.
قالب کلی string[start:end:step] را به خاطر بسپارید تا بتوانید به‌راحتی هر بخشی از یک رشته را استخراج کنید.